Python regex - 如何检测重复

2024-09-28 20:59:50 发布

您现在位置:Python中文网/ 问答频道 /正文

对于这些字符串,我想提取所有的b。你知道吗

'aaaabbbbcccc' => bbbb
'aaaaaaaabbbbbbbcccccc' => bbbbbbb
'abc' => b
'aaaab' => b
'bc' => b

我试过这样的方法:

re.search(r'a*(\w+)c*','aaaabbbbcccc').groups() => ('bbbbccc',)

Tags: 方法字符串researchgroupsabcbcbbbb
2条回答

您可以简单地使用[b]*,但在分组中,请注意您需要group(1)

>>> re.search(r'a*([b]+)c*','aabbbbbbbaa').group(1)

使用否定字符类。[^ac]匹配任何字符,但不匹配ac

>>> re.search(r'a*([^ac]+)c*','aaaabbbbcccc').group(1)
'bbbb'
>>> re.search(r'a*([^ac]+)c*','aaaaaaaabbbbbbbcccccc').group(1)
'bbbbbbb'
>>> re.search(r'a*([^ac]+)c*','abc').group(1)
'b'
>>> re.search(r'a*([^ac]+)c*','aaaab').group(1)
'b'
>>> re.search(r'a*([^ac]+)c*','bc').group(1)
'b'

相关问题 更多 >