正则表达式,用于区分单个和多个数字

时间:2018-05-26 20:27:42

标签: regex python-3.x

我有一个正则表达式,用于捕获数字串中的重复数字模式。但是,它无法区分数字中的单个数字和多个数字。

给出一个字符串:

  

0 5 0 0 0 16 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 11 1 1 1 11 1 1 1 1 1 1 1 2 11 1 4 4 4 16

和正则表达式

(\d+)( \1)+

匹配结果是

  

0 5 0 0 0 16 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 11 1 1 1 11 1 1 1 1 1 1 2 1 1 1 4 4 4 16

正则表达式无法区分1和11.

(注意:11也可以是重复数字,数字中最多可以有3位数字)

1 个答案:

答案 0 :(得分:1)

您需要为正则表达式添加单词边界。例如:

(\b\d+)( \1\b)+

请参阅https://regex101.com/r/ZSCMjF/1