[英]Regex to match a pattern with same number in R
我有一组看起来像下面的字符串。 每个字符串都有3个数字,并用下划线(_)分隔。 每个数字的值介于1到100之间。
ma_1_1_1
ma_2_100_59
ma_29_29_29
ma_100_100_100
ma_7_72_78
ma_10_10_100
ma_4_4_49
我想写一个正则表达式,在其中我可以得到数字都相同的字符串。 例如我的输出是
ma_1_1_1,ma_29_29_29和ma_100_100_100
使用后向引用使正则表达式再次与先前的组匹配:
ma_(100|[1-9][0-9]?)_\1_\1\b
这还将验证数字是否在范围内。 如果不需要此验证,请对捕获组使用(\\d+)
。
此答案是对@ 4castle的修改,它将仅提取具有相似数字的字符串。
grep("ma_(100|[0-9][0-9]|[0-9])(_\\1)(_\\1)\\b", stringList, value = T)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.