首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配"war“而不是"software”

匹配"war“而不是"software”
EN

Stack Overflow用户
提问于 2013-05-30 03:01:42
回答 2查看 110关注 0票数 3

哪个正则表达式会匹配前面没有字符串"soft“的字符串"war”?换句话说,“第三次世界大战”中的“战争”将匹配,但“我的软件在哪里”中的“战争”将不匹配?此外,“远离我的仓库”会匹配,所以“意识”也会匹配。换句话说,我只是不想让字符串"software“匹配。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-30 03:04:52

如果你的正则表达式引擎支持lookbehinds:(?<!soft)war

您可以使用Perl进行尝试:

代码语言:javascript
复制
$ perl -ne 'print if /(?<!soft)war/i' < my-text-file

这将或多或少地像grep一样工作(但grep不支持lookbehinds,afaik)。

票数 5
EN

Stack Overflow用户

发布于 2013-05-30 03:22:34

试试这个:'^soft.* war‘,它很接近但不完美,把它放在你的字符串组合中,你就会明白为什么,而且如果它唯一的'war’不能识别,它不会返回任何东西,它要求单词前面至少有一个字母,但它不能以'soft‘开头。你可以在你的程序中使用条件,并将这个逻辑与不属于任何子字符串的war这个词的正则表达式匹配吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16821860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档