[英]Python Regex char class
Python 3
我最近开始阅读regex
并考虑以下情况:
如果输入是AB
然后是C
或D
我想将其替换为EF
因此,我的char class
是[CD]
,应该non-capturing
。
使用re.sub
我提出了以下内容:
re.sub(r'AB(?:[CD])','EF',text)
当我运行输入ABCZ这个代码我得到EFZ
谢谢!
不捕捉并不意味着不包含在比赛中。 这只是意味着它没有被捕获为一个组(因此您不能使用\\1
类的反向引用来引用它)。
如果要指定[CD]
应该跟随但不包括在比赛中,则需要使用前瞻性:
>>> re.sub(r'AB(?=[CD])','EF','ABCZ')
'EFCZ'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.