我一直在研究,虽然我还没有设法找到如何创建一个正则表达式,该正则表达式只匹配连续重复3次或更多次的数字,而忽略了空格。
例如,我目前有(\d)\1{3,}匹配
11112568856 etc 1111 2568856等
尽管当重复存在于空格之前和之后时,它将失败。
6111 1256 8856
为了匹配这一点,我需要在正则表达式中添加什么?
发布于 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
发布于 2016-12-28 20:40:22
我认为这是可行的:
(D)\s?(\1\s){3,}
“\s”部分说明了可选的空白空间,“?等于{0,1}。
我使用stringr r包签入R(请注意,我必须转义反斜杠):
> str_extract_all("221 1 1 122 ", "(\\d)\\s?(\\1\\s?){3,}")
[[1]]
[1] "1 1 1 1"发布于 2021-10-19 15:11:54
没有一个答案对我有用(在PHP中),但这似乎可以完成以下工作:
(\\d(\\s*)?){3,}https://stackoverflow.com/questions/41369229
复制相似问题