正则表达式,正则和通配的区别

python re模块使用

"""将C、O、N等没加上中括号对的,加上"""
>>> testcase1 = "[H]C([H])[H]"
>>> testcase2 = "[H]c([H])[H]"
>>> testcase3 = "[H]O([H])[H]"
>>> re.sub(r'(?<!\[)([CcOoNn])(?!H)',r'[\1]',testcase1)
'[H][C]([H])[H]'
>>> re.sub(r'(?<!\[)([CcOoNn])(?!H)',r'[\1]',testcase2)
'[H][c]([H])[H]'
>>> re.sub(r'(?<!\[)([CcOoNn])(?!H)',r'[\1]',testcase3)
'[H][O]([H])[H]'
  • \1的用法,很方便且灵活
  • 这里还用到了 正反向预查,处理特殊情况比较方便

正则和通配的关系

这个博客写的很好

通配

尤其注意,通配的*和正则里面的*是不一样的含义 在这里插入图片描述

正则

在这里插入图片描述

  • 通配是shell能够解析的
  • 正则是给支持正则的命令自身解析的(like grep),所以要用引号防止shell将特殊符号进行了转义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值