エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【正規表現】任意の同じ文字を指定して、該当文字を抽出する【644日目】

正規表現で、『同じ文字』を表現したい

aaaaa@nyamucoro.com

この、@より前がすべて同じ文字なのを検証したい

加えて、同じ文字だった文字の部分だけ取りたい。

この場合、 aaaaaの部分

\1でかっこの値を判定でも用いる

www.nyamucoro.com

preg_match('/^(.)\1+@/', $value, $matches);

これだと、 aaaaa@って文字が入る

かっこを付け足す

preg_match('/^((.)\2+)@/', $value, $matches);

((.)\2+)のかっこの部分で aaaaaの部分を取得出来る

外側のかっこが最初に出現したので、内側のかっこの値がずれたので、 \1は\2に変わっています。