哪个正则表达式会匹配前面没有字符串"soft“的字符串"war”?换句话说,“第三次世界大战”中的“战争”将匹配,但“我的软件在哪里”中的“战争”将不匹配?此外,“远离我的仓库”会匹配,所以“意识”也会匹配。换句话说,我只是不想让字符串"software“匹配。
发布于 2013-05-30 03:04:52
如果你的正则表达式引擎支持lookbehinds:(?<!soft)war。
您可以使用Perl进行尝试:
$ perl -ne 'print if /(?<!soft)war/i' < my-text-file这将或多或少地像grep一样工作(但grep不支持lookbehinds,afaik)。
发布于 2013-05-30 03:22:34
试试这个:'^soft.* war‘,它很接近但不完美,把它放在你的字符串组合中,你就会明白为什么,而且如果它唯一的'war’不能识别,它不会返回任何东西,它要求单词前面至少有一个字母,但它不能以'soft‘开头。你可以在你的程序中使用条件,并将这个逻辑与不属于任何子字符串的war这个词的正则表达式匹配吗?
https://stackoverflow.com/questions/16821860
复制相似问题