有人知道我如何搜索允许字符之间有破折号的子字符串吗?
类似的东西。
AAABBC
AA---A--BB-C
我希望上面的子字符串与下面的字符串匹配。
任何回应都是相关的。
谢谢。
答案 0 :(得分:1)
在这些字符之间添加-*
。
r'A-*A-*A-*B-*B-*C'
示例:
>>> re.match(r'^A-*A-*A-*B-*B-*C$', 'AA---A--BB-C')
<_sre.SRE_Match object; span=(0, 12), match='AA---A--BB-C'>
>>> re.match(r'^A-*A-*A-*B-*B-*C$', 'A----AA--BB-C')
<_sre.SRE_Match object; span=(0, 13), match='A----AA--BB-C'>
>>> re.match(r'^A-*A-*A-*B-*B-*C$', 'A--A-A--B-B-C')
<_sre.SRE_Match object; span=(0, 13), match='A--A-A--B-B-C'>