正規表現に入門した
正規表現入門
そろそろ正規表現を覚えようと思い、勉強を初めてみました。
正規表現ってそもそもなんだ?
正規表現とは英語で「Reguler expression」です。
文字列の規則性を表現したものが正規表現です。
正規表現の使い道
正規表現の使い道は
- まとめて検索する
- 入力チェックに使う
- テキスト編集に使う
の大きく三つです。
正規表現チェッカーを使う
以下の正規表現チェッカーを使うことで簡単に正規表現を使ったテストができる。
正規表現の種類
\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