我正在尝试编写一个正则表达式来查找数字中的两位数。
我有r'(\d)\1+?‘它适用于110或011,但不适用于101。我遗漏了什么?
发布于 2021-05-01 04:51:27
在您的pattern (\d)\1+?中,您捕获的是单个数字,引用与组1中捕获的值完全相同的反向引用\1直接放在捕获组之后。
这样,如果在两者之间有其他(不是相同的数字),则反向引用不能匹配相同的值。
注意,如果你只是想要一个匹配,你可以省略+?,因为这会重复1次或多次非贪婪的反向引用。
您可能要做的是,在两者之间使用\d*匹配可选的数字。
(\d)\d*\1https://stackoverflow.com/questions/67323964
复制相似问题