正则表达式与文本中的 n 个单词完全匹配

Regex match exactly n words in text

本文关键字:单词完 文本 正则表达式      更新时间:2023-09-26

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

我想在文本

中找到单词,无论它们在文本中的位置如何(文本可以包含换行符)。仅当搜索中的所有单词都包含在文本中时,正则表达式才应匹配。

请考虑以下文本:

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

如果我搜索"#test@mentionings",应该可以找到此文本

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

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

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

您可以使用此前瞻,该展望也将跨换行符进行搜索:

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

正则表达式演示

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