You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改正则表达式,匹配含OR的括号内文本片段?

正则表达式修改需求

我需要编写一个正则表达式,匹配以(开头、到第一个)结束且中间包含OR的文本片段,具体要求如下:

  • 示例输入1:(Test OR test2) some more text,期望匹配结果1:(Test OR test2)
  • 示例输入2:(Test OR test2 OR test3) some more text (TEST1 OR test2),期望匹配结果2:(Test OR test2 OR test3)
  • 若括号内无OR(如"(Test AND test2 AND test3) some more text"),则不匹配。

我已经写出匹配括号内文本的正则表达式(\([^)]+\)),请问该如何修改以满足上述需求?


解决方案

直接在原正则的匹配逻辑中加入对OR的校验即可,修改后的正则表达式如下:

\([^)]*OR[^)]*\)

规则拆解

  • \(:精准匹配开头的左括号
  • [^)]*:匹配任意数量的非右括号字符,确保不会跨到下一个右括号
  • OR:强制要求括号内必须包含该字符串
  • [^)]*:继续匹配任意数量的非右括号字符
  • \):精准匹配结尾的右括号

扩展说明

如果需要不区分大小写匹配(比如兼容or、Or、oR等写法),可以根据使用的工具/语言添加忽略大小写的匹配标志,也可以直接写为:

\([^)]*(?:OR|or|Or|oR)[^)]*\)

另外,如果需要匹配所有符合条件的括号片段(而非仅第一个),需开启全局匹配模式(具体开启方式依工具/语言而定,比如JavaScript的g标志、Python的re.findall方法)。


内容的提问来源于stack exchange,提问作者Sven van den Boogaart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 13:18:09