我正在进行使用正则表达式的搜索。
我想在文本中找到单词而不管它们在文本中的位置(文本可以包含换行符)。只有当搜索中的所有字词都包含在文本中时,正则表达式才会匹配。
考虑以下文字:
这是一个测试#test,它也使用@mentionings
如果我搜索'#test is @mentionings'
,应该找到此文本我有以下使用lookahead的正则表达式:
/(?=.*#test).*\n*(?=which.*).*\n*(?=@mentionings.*).*/i
不幸的是,这不能按预期工作。我错过了什么?
答案 0 :(得分:0)
您可以使用此前瞻也搜索换行符:
^(?=[\s\S]*#test)(?=[\s\S]*which)(?=[\s\S]*@mentionings)
<强> RegEx Demo 强>
[\s\S]
将匹配任何字符,包括换行符。