Tag: プログラミング
勉強中に出会った正規表現の実例の覚え書き。
文字がn回、だったら
^([^a]*a[^a]*){3}$
でよいが、文字列となると否定先読みを使わないといけない。 否定先読み(negative lookahead)とは、
(?!re1)re2
と書いて「re1にはマッチしないがre2にはマッチする」というもの。これで
^(((?!abc).)*abc((?!abc).)*){3}*$
と書けば「文字列がn回だけ」を実現できる。 もっとスマートな書き方があるかどうかはまだ知らない。