正規表現で、『同じ文字』を表現したい
aaaaa@nyamucoro.com
この、@より前がすべて同じ文字なのを検証したい
\1でかっこの値を判定でも用いる
preg_match('/^(.)\1+@/', $value, $matches);
'(.)\1+'解説
\1
と書くと、かっこの値を指定することが出来る。右の数値は、かっこが出現した時の順番の値。
- (.)で、任意の一文字
- \1で、その直前の(.)自身。(
(.)がaなら\1もa
) - \1+で、2.の任意の個数指定
aaaaa@nyamucoro.comなら、
- aaaaaの最初のaが
(.)
でマッチする。 - aaaaaの二番目のaが、
\1
でマッチする。 - aaaaaの二番目以降は、
\1+
でマッチする。