👻

正規表現に入門した

2023/01/07に公開

正規表現入門

そろそろ正規表現を覚えようと思い、勉強を初めてみました。

正規表現ってそもそもなんだ?

正規表現とは英語で「Reguler expression」です。
文字列の規則性を表現したものが正規表現です。

正規表現の使い道

正規表現の使い道は

  • まとめて検索する
  • 入力チェックに使う
  • テキスト編集に使う

の大きく三つです。

正規表現チェッカーを使う

以下の正規表現チェッカーを使うことで簡単に正規表現を使ったテストができる。
https://www.ymori.com/regexcheck/

正規表現の種類

\d : 数字(digit)

\w : 英数字1文字(「_」を含む)

\s : 空白

\n : 改行

\t : タブ

鶏肉|豚肉 : 鶏肉か豚肉 

(鶏|豚)肉 : 鶏肉か豚肉

^ : 先頭の文字

$ : 末尾の文字

* : 直前の文字を0回以上繰り返す

+ : 直前の文字を1回以上繰り返す

〇? : 〇があってもなくてもマッチする。(〇は任意の文字に置き換え可能)

〇{n} : 〇をn回繰り返す。(〇は任意の文字に置き換え可能)

〇{n,} : 〇をn回以上繰り返す。(〇は任意の文字に置き換え可能)

〇{n,m} : 〇をn-m回繰り返す。(〇は任意の文字に置き換え可能)

.? : マッチするもので最も短い範囲にマッチ 

(〇)\1 : (〇)でマッチした文字を、\1でもう一度マッチ

△(?=〇) : 後ろに〇がついているとき、△にマッチする。
(?<=〇)△ : 前に〇がついているとき、△にマッチする。
△(?!〇) : 後ろに△以外がついているとき、△にマッチする。
(?<!〇)△ : 前に〇以外がついているとき、△にマッチする。
[] : その範囲の一文字(e.g. [1-5]だと1,2,3,4,5にマッチ)

メタ文字

メタ文字とは正規表現においてなにか意味を持っている文字のと。メタ文字は以下。

. * + ? \ | ^ $ [] () {}

メタ文字自体を表現したい場合は「\」をつけてエスケープする。

例:\. → 「.」にマッチするものの正規表現。

Discussion