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

如何编写Python re.search正则:匹配含prod但排除含orange的字符串

正则表达式实现:包含prod但排除含orange的字符串

可以使用负向前瞻断言结合匹配逻辑实现需求,对应的正则表达式如下:

^(?!.*orange).*prod.*

正则逻辑说明:

  • ^(?!.*orange):负向前瞻断言,从字符串起始位置开始检查,确保整个字符串中不存在orange子串(.*匹配任意字符,保证orange出现在任意位置都会被检测到)
  • .*prod.*:匹配任意位置包含prod的字符串,.*覆盖前后任意字符,确保prod可以出现在字符串的任何位置

示例验证:

  • web-prod-green:无orange且包含prod → 匹配成功
  • web-prod-orange:包含orange → 断言不通过,匹配失败
  • web-orange-green:无prod → 匹配失败
  • orange-prod-green:包含orange → 断言不通过,匹配失败

Python中re.search的使用示例:

import re

match_pattern = r'^(?!.*orange).*prod.*'

test_strings = [
    "web-prod-green",
    "web-prod-orange",
    "web-orange-green",
    "orange-prod-green"
]

for s in test_strings:
    result = re.search(match_pattern, s)
    status = "匹配成功" if result else "匹配失败"
    print(f"'{s}' → {status}")

内容的提问来源于stack exchange,提问作者sebastianwth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:55:19