正则表达式匹配重复值的任何组合

时间:2017-02-26 13:09:36

标签: php regex

我需要为重复的字符测试字符串。是否有一个我可以用于此的单数正则表达式,还是应该编译多个不同正则表达式的列表?

111333555777
aaaabbbbccccdddd
aabbcc
11111
abcabcabc

有几种不同类型的重复

3 个答案:

答案 0 :(得分:1)

不确定我是否帮助你,但也许这个正则表达式会是你想要的

^(?:(.*)\1+)*$

匹配

111333555777
aaaabbbbccccdddd
aabbcc
11111
abcabcabc

答案 1 :(得分:1)

使用capturing groups and backreference检查,如果字符串仅包含重复值。

^(?:(\w+)\1+)+$

See demo at regex101

答案 2 :(得分:0)

这与其他人一样,除了内部捕捉表达是非贪婪的 虽然它确保最精细的粒度,但不确定它是否合适。

(?:(.+?)\1+)+

虽然通过捕获获得重复边界可能是不可能的 小组信息