2011年1月19日水曜日

特定の文字列を『含まない』行にマッチする正規表現の書き方

備忘メモ。

たとえば、"abc"という文字列を含まない行にマッチする正規表現は、文字列の否定 "?!" を応用してこんな感じに書きます。
^((?!abc).)*$


同様に、"abc"で始まらない行、終わらない行にマッチさせるにはそれぞれ以下のようになります。

# abcで始まらない
^(?!abc).*$

# abcで終わらない
^((?!abc$).)*$


"abc"で終わらない行については下記のようにも書けますが、こちらの正規表現は空行にマッチしないので要注意。

# abcで終わらない その2
^.*(?!abc).{3}$


こちらのページを参考にさせていただきました。
れぶろぐ - [regexp] ある文字列を含まないものにマッチする正規表現

0 件のコメント:

コメントを投稿