繁体   English   中英

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

[英]How to match multiple words in regex

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

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

/advancedbrain|com_ixxocart|p\=completed/

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

这是单词

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

使用前瞻断言

^(?=.*advancebrain)(?=.*com_ixxochart)(?=.*p=completed)

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

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

^(?=.*\badvancebrain\b)(?=.*\bcom_ixxochart\b)(?=.*\bp=completed\b)
^(?=.*?p=completed)(?=.*?advancebrain)(?=.*?com_ixxocart).*$

花了太长时间测试和精炼= /哦好..仍然会发布我的答案

使用前瞻:

(?=.*\badvancebrain)(?=.*\bcom_ixxocart)(?=.*\bp=completed)

订单无关紧要。 这三个都是必需的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM