正则表达式恰好匹配文本中的n个单词

时间:2015-01-16 16:37:07

标签: javascript regex

我正在进行使用正则表达式的搜索。

我想在文本中找到单词而不管它们在文本中的位置(文本可以包含换行符)。只有当搜索中的所有字词都包含在文本中时,正则表达式才会匹配。

考虑以下文字:

  

这是一个测试#test,它也使用@mentionings

如果我搜索'#test is @mentionings'

,应该找到此文本

我有以下使用lookahead的正则表达式:

/(?=.*#test).*\n*(?=which.*).*\n*(?=@mentionings.*).*/i

不幸的是,这不能按预期工作。我错过了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用此前瞻也搜索换行符:

^(?=[\s\S]*#test)(?=[\s\S]*which)(?=[\s\S]*@mentionings)

<强> RegEx Demo

[\s\S]将匹配任何字符,包括换行符。