大化通信

大化物流開発合同会社の社員から技術発信をしていきます

正規表現について

こんにちは、大化社員のnezutchiです。
今回は正規表現について記事にしました。

1.正規表現とは

 複数の文字列を一つの形式で表現する方法です。

2.正規表現で使う特殊文字

 . ^ $ [ ] * + ? | ( )

 これらをメタ文字と呼びます。
 メタ(meta)とは「超越」という意味です。
 また、文字列の中からメタ文字を含む文字を検索する場合は
 \(バックスラッシュ)でエスケープする必要があります。

3.メタ文字の種類と意味

(1) なんでもいい1文字 .(ドット)
   .   なんでもいい1文字を表現する。
(2) 行の先頭と末尾 ^(ハット) $(ドル)
   ^  行の先頭を表現する。
   $  行の末尾を表現する。
(3) 同じ文字の繰り返し *(アスタリスク) +(プラス) ?(クエッション)
   *  直前の1文字の0回以上の繰り返しを表現する。
   +  直前の1文字の1回以上の繰り返しを表現する。
   ?  直前の1文字の0か1回を表現する。
(4) いずれかの文字列 |(パイプ)
   |  複数の文字列をorで表現する。
   例:〇〇|△△|××
(5) 指定した文字のどれか 
   []  大括弧内のいずれかを指定する表現。
   例:[abc]     abcのいずれか
     [a-z]     アルファベット(小文字)のいずれか
     [A-Z]     アルファベット(大文字)のいずれか
     [0-9]     数字のいずれか
     ※[^0-9]のように大括弧内でハットを使うと否定の意味を持つ。
       ↑は0~9以外となる。
(6) グループ化( )(小括弧)
   () 小括弧内を一塊の文字列に指定できる。

4.応用したよく使う表現

・特定の文字列を含む行を検索する場合
 〇〇の使われ方(前後を含む)調査をするときなど。

   .*〇〇.*\r\n


・特定の文字列を含まない行を検索する場合
 〇〇を含まない行を選択することで対象外の行を削除するときなど。

  ^(?!.*〇〇).*\r\n