2011-01-28 45 views
0

应使用什么正则表达式模式匹配CP_但不是CPLAT::CP_正则表达式匹配字符串,如果它不遵循另一个字符串

+0

能够阅读和撰写正则表达式只需要了解一种语言,并不意味着您可以毫不费力地选择另一种语言,尤其是使用明显不同的习语的人。例如尝试Lisp。 - 这并不是说RegEx特别困难,它只是不是所有可访问的东西,我建议你使用一些允许regex作为搜索模式的工具,并尽可能多地执行它们,稍微练习一下就行了。 – ocodo 2011-01-28 02:32:33

回答

0

我想你想要“^ CP_”作为你的正则表达式。 ^告诉表达式在输入开始时检查这个模式。

http://www.regular-expressions.info/anchors.html

+0

^锚定到字符串/行中的第一个字符,而不是字/符号中的第一个字符。听起来像OP需要跨文件搜索,而不仅仅是比较字符串中的单个字。 – CoreyStup 2011-01-28 00:48:50

+0

@corey - 跨文件搜索 – Axl 2011-01-28 01:02:50

0
[^:]CP_ 

会发现CP_不是由一个:

preceeded使用g选项(取决于正则表达式的味道),如果所有实例您希望每行匹配多个CP_

1

此外,没有人有像RegEx for Dummies这样的非常简单的教程吗?我很难用C++编写代码,但无法轻松掌握RegEx。

不,这并不奇怪。正则表达式的掌握需要一种并非自然而然的某种心态。能够用C++或任何其他语言进行编程似乎没有帮助 - 如果有的话,这是一个障碍。有一个很好的教程here,但即使是最好的教程只会让你到一个pidgin水平。如果你真的想让你的头在正则表达式中,你需要The Book

另一个问题是没有正则表达式的标准;每种编程语言,每个框架,每个IDE或文本编辑器似乎都有它自己的正则表达式“味道”。有些具有其他人不具备的功能,有些则使用不同的语法来完成相同的功能。这就是The Other Book的地方。我们通常使用正则表达式的许多例子,在几种最流行的口味中,并进行了彻底的解释。

相关问题