首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex匹配重复数字(3或更多)忽略空格

Regex匹配重复数字(3或更多)忽略空格
EN

Stack Overflow用户
提问于 2016-12-28 20:26:46
回答 3查看 818关注 0票数 2

我一直在研究,虽然我还没有设法找到如何创建一个正则表达式,该正则表达式只匹配连续重复3次或更多次的数字,而忽略了空格。

例如,我目前有(\d)\1{3,}匹配

11112568856 etc 1111 2568856等

尽管当重复存在于空格之前和之后时,它将失败。

6111 1256 8856

为了匹配这一点,我需要在正则表达式中添加什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-28 20:45:29

使用反向引用再次匹配相同的数字:

(\s?\d\s?)(\s?\1){2,}

https://regex101.com/r/FNNS1z/3

http://www.regular-expressions.info/backref.html

票数 1
EN

Stack Overflow用户

发布于 2016-12-28 20:40:22

我认为这是可行的:

(D)\s?(\1\s){3,}

“\s”部分说明了可选的空白空间,“?等于{0,1}。

我使用stringr r包签入R(请注意,我必须转义反斜杠):

代码语言:javascript
复制
> str_extract_all("221 1 1 122 ", "(\\d)\\s?(\\1\\s?){3,}")
[[1]]
[1] "1 1 1 1"
票数 0
EN

Stack Overflow用户

发布于 2021-10-19 15:11:54

没有一个答案对我有用(在PHP中),但这似乎可以完成以下工作:

代码语言:javascript
复制
(\\d(\\s*)?){3,}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41369229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档