我试图找到包含单词“text1”和“text2”的所有页面。
我的正则表达式:
text1(.|\n)*text2
it doesn't work..
![enter image description here](https://i.stack.imgur.com/aktoa.jpg)
如果您的 IDE 支持s
(单线)标志(所以.
字符可以匹配换行符),您可以使用以下方式搜索您的项目:
(text1).*(text2)|\2.*\1
示例为s flag http://regex101.com/r/iR8wY7/1
如果 IDE 不支持s
标志,你需要使用[\s\S]
代替.
:
(text1)[\s\S]*(text2)|\2[\s\S]*\1
示例为[\s\S] http://regex101.com/r/iR8wY7/2
一些语言使用$1
and $2
代替\1
and \2
,所以您可能需要更改它。
EDIT:
或者,如果您想简单地匹配包含两个字符串的文件(但实际上不选择任何内容),您可以利用前瞻:
(?s)^(?=.*?text1)(?=.*?text2)
这不关心参数的顺序(或数量),并且对于您想要搜索的每个附加文本,您只需附加另一个文本(?=.*?text_here)
。这种方法很好,因为您甚至可以包含正则表达式而不仅仅是纯字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)