我使用模式 pat='dd|dddd'
,我认为它会匹配 dd 或 dddd。
import re
re.search(pat,'ddd')
re.search(pat,'ddddd')
任何数量的 d(s) 匹配为什么会这样?
最佳答案
您需要以某种方式锚定正则表达式。正则表达式在字符串中搜索以查找模式。因此,“dd”将在“dddddddd”中的偏移量 0,1,2,3,4,5,6 处找到。
如果您只想匹配整个字符串,请尝试 ^dd$
。 ^ 匹配字符串的开头,$ 匹配结尾。所以 ^(dd|dddd)$
将具有您想要的行为。
如果你希望它只匹配 dd 或 dddd 但在一个字符串中。然后你可能想使用: td”
关于python - 使用正则表达式查找多次出现的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4239346/