Python正则表达式字符类
Python 3Python正则表达式字符类,python,regex,Python,Regex,Python 3 我最近开始阅读正则表达式>代码,并考虑以下情况: 如果输入是AB后跟C或D我想用EF 因此,我的char类是[CD],它应该是非捕获的 使用re.sub我得出以下结论: re.sub(r'AB(?:[CD])','EF',text) 当我为输入ABCZ运行此代码时,我得到EFZ 谢谢 不捕获并不意味着它不包括在比赛中。它只是意味着它不是作为一个组捕获的(因此您不能使用像\1这样的反向引用来引用它) 如果您想指定[CD]应跟随但不包括在匹配中,则需要使用前瞻: >>
我最近开始阅读<代码>正则表达式>代码,并考虑以下情况:
如果输入是AB
后跟C
或D
我想用EF
因此,我的char类
是[CD]
,它应该是非捕获的
使用re.sub
我得出以下结论:
re.sub(r'AB(?:[CD])','EF',text)
当我为输入ABCZ运行此代码时,我得到EFZ
谢谢 不捕获并不意味着它不包括在比赛中。它只是意味着它不是作为一个组捕获的(因此您不能使用像
\1
这样的反向引用来引用它)
如果您想指定[CD]
应跟随但不包括在匹配中,则需要使用前瞻:
>>> re.sub(r'AB(?=[CD])','EF','ABCZ')
'EFCZ'
不捕获并不意味着它不包括在比赛中。它只是意味着它不是作为一个组捕获的(因此您不能使用像
\1
这样的反向引用来引用它)
如果您想指定[CD]
应跟随但不包括在匹配中,则需要使用前瞻:
>>> re.sub(r'AB(?=[CD])','EF','ABCZ')
'EFCZ'
不捕获并不意味着它不包括在比赛中。它只是意味着它不是作为一个组捕获的(因此您不能使用像
\1
这样的反向引用来引用它)
如果您想指定[CD]
应跟随但不包括在匹配中,则需要使用前瞻:
>>> re.sub(r'AB(?=[CD])','EF','ABCZ')
'EFCZ'
不捕获并不意味着它不包括在比赛中。它只是意味着它不是作为一个组捕获的(因此您不能使用像
\1
这样的反向引用来引用它)
如果您想指定[CD]
应跟随但不包括在匹配中,则需要使用前瞻:
>>> re.sub(r'AB(?=[CD])','EF','ABCZ')
'EFCZ'