用正则表达式查找子字符串

时间:2013-05-26 08:35:56

标签: .net regex

我正在尝试将子字符串My Links与负面预测相匹配,就像这样

      \b(?!My Links)\b

我也试过这个

        .*\b(?!My Links)\b

但即使我输入My Links,它也会匹配所有内容。我想拒绝任何包含此Substring的行。另外,我必须参考详细讨论前瞻的材料。正如我所尝试的那样,只有正则表达式的配方,并没有解释它是如何工作的。并检查 this链接,但很简单,不讨论复杂的东西。

修改 子字符串必须出现在字边界

2 个答案:

答案 0 :(得分:2)

.*\b(?!My Links)\b

在此正则表达式中,您正在查找任何文本.*,后跟未跟My Links的单词边界。对于一行的最后一个单词边界,这将始终为true,因此将匹配任何内容。

^((?!\bMy Links\b).)+$

这个应该做你想要的,基本上它是查看整个字符串,如^$锚点所指定的那样。它会查找该字符串中的一个或多个+字符串,这些字符不会启动字符串My Links。邦德这个词也在那里。

  

我的链接
  这里有一些我测试的链接   这不应该与ehmMy Links相匹配   不是这个我的Linkseither

前两行在这里不匹配,而最后两行则是。

答案 1 :(得分:2)

您可以使用此正则表达式

^(?!.*\bMy Links\b).*$

这将匹配其中没有My Links的行。


您可以参考this获取有关外观的更深入信息