如何匹配正则表达式中的多个单词

UpH*_*lix 14 javascript php regex programming-languages lookahead

只是一个简单的正则表达式,我不知道如何写.

正则表达式必须确保字符串匹配所有3个单词.我看到如何使它匹配3 中的任何一个:

/advancedbrain|com_ixxocart|p\=completed/
Run Code Online (Sandbox Code Playgroud)

但我需要确保字符串中包含所有 3个单词.

这是单词

  1. advancebrain
  2. com_ixxocart
  3. P =完成

Tim*_*ker 18

使用前瞻断言:

^(?=.*advancebrain)(?=.*com_ixxochart)(?=.*p=completed)
Run Code Online (Sandbox Code Playgroud)

如果所有三个术语都存在,则匹配.

您可能希望\b在搜索项周围添加工作边界,以确保它们匹配为完整的单词而不是其他单词的子串(如advancebraindeath),如果您需要避免这种情况:

^(?=.*\badvancebrain\b)(?=.*\bcom_ixxochart\b)(?=.*\bp=completed\b)
Run Code Online (Sandbox Code Playgroud)