tags:

views:

49

answers:

2

I have a string in php like this.

$str = "ABCCCDE" //Contains repeated character CCC more than 2 times

I want to know if there is any repeated characters more than 2 times using regular expression.

Thanks in advance

+4  A: 
if (preg_match('/(.)\\1{2}/', $str))
   echo "Has 3 same characters consecutively!";

The (.) will match any character (except new lines), and the \1 will match a pattern same as the first matched group — in this case, the character we've just matched. So this RegEx will match 3 same consecutive characters.

KennyTM
It returns 1 when there is string "abccde". It should return 1 only there is a repeated character more than 2 times
EarnWhileLearn
@Shahid: Not anymore.
KennyTM
+2  A: 

You can use:

'/(.)\1\1/'

E.g.:

preg_match('/(.)\1\1/', $str, $matches);
Matthew Flaschen