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

Python正则表达式匹配需求:匹配指定模式并忽略@.子串

解决方案

要实现匹配目标字符且忽略@.中的.,可以使用负向零宽断言排除特定场景,最终正则表达式如下:

(?<!@)\.|\[\?|]

正则规则说明

  • (?<!@)\.:匹配前面不是@的.,通过负向预查(?<!@)确保当前.的前一个字符不是@,从而跳过@.中的.
  • \[\?:匹配字面量[?(转义[和?是因为它们在正则中有特殊含义)
  • ]:匹配字面量]

Python 代码示例

import re

target_str = '.test[?(@.foo=="bazz")].boo'
match_pattern = r'(?<!@)\.|\[\?|]'

# 获取所有匹配项
result = re.findall(match_pattern, target_str)
print(result)  # 输出: ['.', '[?', ']', '.']

# 高亮匹配内容(模拟需求中的高亮效果)
highlighted = re.sub(match_pattern, r'`\g<0>`', target_str)
print(highlighted)  # 输出: `.`test`[?`(@.foo=="bazz")`]`.`boo`

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:57:09