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

如何让PyCharm为regex模块提供re模块同款正则语法高亮?

解决PyCharm中regex模块正则字符串的语法高亮问题

一、自定义全局语言注入规则(推荐)

这是最接近原生re模块体验的方案,配置后所有regex模块的正则参数都会自动获得语法高亮:

  1. 打开PyCharm设置(快捷键Ctrl+Alt+S/Cmd+,)
  2. 导航到Languages & Frameworks > Language Injections
  3. 点击右上角的+号,选择Python作为注入上下文
  4. 在配置窗口中填写以下内容:
    • ID:自定义一个标识即可,比如regex_module_highlight
    • Places Patterns:添加精准匹配规则(如果用import regex as re,就把规则里的regex替换成re):
      • 匹配regex.compile()的参数:regex\.compile\((.*)\),捕获组选择$1
      • 匹配regex.match()/search()/fullmatch()等方法的第一个参数:regex\.(match|search|fullmatch|findall|finditer)\((.*?),,捕获组选择$2
    • Injected Language:选择Regexp
  5. 保存配置后重启PyCharm,规则即可生效

这种方式完美兼容re.X等标志,也不会误识别普通字符串。

二、单行临时标记(适合零散代码场景)

如果不想配置全局规则,可给单个正则字符串添加单行注释(注意注释要和字符串紧挨着):

# language=RegExp
pattern = r"\d{3}-\d{4}"
result = regex.match(pattern, "123-4567")

带re.X的多行正则也能正常支持:

# language=RegExp
pattern = r"""
    \d{3}   # 区号
    -       # 分隔符
    \d{4}   # 号码
"""
result = regex.match(pattern, "123-4567", flags=regex.X)

注意事项

  • 全局规则要尽量精准匹配方法调用,避免将普通字符串误识别为正则表达式
  • PyCharm版本更新后如果规则失效,可重新进入Language Injections面板检查配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 21:12:11