在数字中查找两位数 (non/consecutive)

Find a double digit (non/consecutive) in a number

我正在尝试编写一个正则表达式来查找数字中的两位数。

我有r'(\d)\1+?'适用于 110 或 011,但不适用于 101。我错过了什么?

在您的模式 (\d)+? 中,您正在捕获单个数字,并且指向与第 1 组中捕获的值完全相同的值的反向引用 </code> 直接放置在捕获组之后。</p> <p>这样,如果中间有其他(不相同的数字),反向引用就不能匹配相同的值。</p> <p>请注意,如果您只想匹配,则可以省略 <code>+?,因为那样会非贪婪地重复反向引用 1 次或多次。

您可能会做的是使用 \d* 匹配可选数字。

(\d)\d*

Regex demo