如果字符串不跟随另一个字符串,则RegEx匹配字符串

时间:2011-01-28 00:33:11

标签: regex

应该使用什么RegEx模式来匹配CP_而不是CPLAT::CP_

4 个答案:

答案 0 :(得分:3)

(?<!CPLAT::)CP_

使用negative lookbehind

答案 1 :(得分:1)

[^:]CP_

将查找CP_之前没有:

的所有g个实例

如果您希望每行匹配多个CP_,请使用{{1}}选项(取决于正则表达式风格)。

答案 2 :(得分:1)

  

另外,有没有人有一个非常简单的教程,如RegEx for Dummies?我在C ++中编码但是不能轻易掌握RegEx,这很奇怪吗?

不,这并不奇怪。正则表达式的掌握需要一种不自然的特定心态。并且能够用C ++或任何其他语言进行编程似乎没有帮助 - 如果有的话,这是一个障碍。有一个很好的教程here,但即使是最好的教程也只会让你达到一个pidgin级别。如果你真的想要了解正则表达式,那么你需要The Book

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

答案 3 :(得分:0)

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

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