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

Python是否支持类似Vim的正则表达式内联大小写不敏感标识?

Python正则表达式的内联大小写不敏感支持

Python的re模块支持内联正则修饰符,不需要完全依赖全局的re.I(re.IGNORECASE)参数来设置大小写不敏感,不过它的语法和Vim的\c不同,采用的是Perl兼容的括号式修饰符:

  • 全局内联生效:在模式开头添加(?i),整个正则表达式都会忽略大小写,示例:

    import re
    match = re.search(r'(?i)hello', 'HELLO World')
    print(match.group())  # 输出 HELLO
    
  • 局部范围生效:把(?i)放在需要忽略大小写的片段前,仅对后续部分生效(直到遇到关闭修饰符(?-i)),示例:

    # 仅"llo"部分忽略大小写
    match = re.search(r'he(?i)llo', 'HeLLo')
    print(match.group())  # 输出 HeLLo
    
    # 临时关闭修饰符
    match = re.search(r'(?i)hel(?-i)lo', 'HELlo')
    print(match.group())  # 输出 HELlo("lo"部分区分大小写)
    

需要注意的是,Python并不支持Vim里的\c这种简洁的内联标识,必须使用(?i)这种括号语法。如果整个正则表达式都需要忽略大小写,使用全局参数re.I会更简洁直观:

match = re.search(r'hello', 'HELLO', re.I)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:30:42