正则表达式在页面上查找两个单词

2024-01-03

我试图找到包含单词“text1”和“text2”的所有页面。 我的正则表达式:

text1(.|\n)*text2 

it doesn't work.. enter image description here


如果您的 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(使用前将#替换为@)

正则表达式在页面上查找两个单词 的相关文章

随机推荐