Python 正则表达式字符 class
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
谢谢!
未捕获并不意味着它不包含在匹配中。这只是意味着它没有被捕获为一个组(所以你不能使用像 </code> 这样的反向引用来引用它)。</p>
<p>如果要指定 <code>[CD]
应该跟随但不包含在匹配中,则需要使用先行:
>>> re.sub(r'AB(?=[CD])','EF','ABCZ')
'EFCZ'
Python 3
我最近开始阅读 regex
并考虑以下情况:
如果输入是 AB
后跟 C
或 D
我想用 EF
所以,我的char class
是[CD]
,应该是non-capturing
。
使用 re.sub
我得出以下结论:
re.sub(r'AB(?:[CD])','EF',text)
当我 运行 输入此代码 ABCZ 我得到 EFZ
谢谢!
未捕获并不意味着它不包含在匹配中。这只是意味着它没有被捕获为一个组(所以你不能使用像 </code> 这样的反向引用来引用它)。</p>
<p>如果要指定 <code>[CD]
应该跟随但不包含在匹配中,则需要使用先行:
>>> re.sub(r'AB(?=[CD])','EF','ABCZ')
'EFCZ'