【发布时间】:2014-08-18 03:36:06
【问题描述】:
我正在尝试匹配可以出现在字符串中任何位置的 3 个单词:
Win
Enter
Now
字符串中必须存在所有 3 个单词才能作为匹配项返回。但是当所有 3 个单词都存在时,我遇到了匹配问题。
下面是我正在使用的正则表达式:http://regexr.com/39b83
^(?=.*?win)(?=.*?(enter))(?=.*?(now)).*
当所有三个单词都在同一行中时,正则表达式正在工作...当它分布在不同行的整个字符串中时,它无法匹配。
感谢任何指导或帮助。
【问题讨论】:
-
你有什么问题? (您是在尝试匹配这些词中的任何 个词,而不是所有词吗?)
-
即使字符串包含所有三个单词,它也不会返回匹配项。
-
你能举一个你试过的字符串的例子吗?它对我来说很好——即使在 RegExr 上也是如此。
-
如果这是一件又快又脏的事情,我会运行几个 grep。
grep win filename.txt | grep enter | grep now -
@minitech,试试这个regexr.com/39b83,我在示例中看不到匹配项...
标签: c# regex regex-lookarounds