Regexの基本を勉強したので、忘れないように自分にとって分かりやすく箇条書きでまとめました。
Regexとは
Regex(正規表現)とは、いくつかの文字列をひとつのそれで表現する方法のことです。
この方法を用いることで、膨大な情報量があるネットの世界から簡単に見つけたい文字列を探し出すことができるようになります。
いろいろなメタ文字の使い方
Regexでは多くの特殊文字を使用していきますが、それらを「メタ文字」と呼んでいます。
ひとつずつ見ていきましょう。
注意:長いので「検索ワード」を「ワード」、「検索結果」を「結果」と表現しています。
「 ▪️ 」
- なんでもいい一文字を検索する際に使用
- 例: ワード「君は▪️です。」 → 結果「君は鬼です。」「君は神です。」
- 「\▪️」で、メタ文字自体を検索可能
「 ^ 」
- 行の先頭にのみ存在する文字列を検索
- 例: ワード「^こんにちは」 → 結果「こんにちは、世界」「こんにちはは日本語です。」
- 「^^」で文字自体を検索可能
「 $ 」
- 行の末尾にのみ存在する文字列を検索
- 例: ワード「こんにちは$」 → 結果「みなさんこんにちは」「やっほー、こんにちは」
- 「$$」で文字自体を検索可能
「 * 」
- 直前の文字が0個以上連続する文字列を検索
- 例: ワード「ばー*か」 → 結果「ばか」「ばーーーーか」
「 + 」
- 直前の文字が1個以上連続する文字列を検索
- 例: ワード「ばー+か」 → 結果「ばーーーーか」
「 ? 」
- 直前の文字が0個または1個である文字列を検索
- 例 :ワード「ばー?か」 → 結果「ばか」「ばーか」
- スペースの有無が不明な時によく利用される
「 | 」
- いずれかの文字列を検索
- 例: ワード「Python|Ruby|HTML」 → 結果「Python」「Ruby」「HTML」のいずれかの文字列が存在する文
「 [ ] 」
- 指定した文字のどれかで検索
- 例: ワード「今日の天気は[晴雨雪]です。」 → 結果「今日の天気は晴です。」「今日の天気は雨です。」「今日の天気は雪です。」
- 連続したアルファベットや数字を入れたい場合、[A-Z][0-9]と書ける
「 ( ) 」
- グループ化する
- 例1: ワード「(きら)+ーん」 → 結果「きらきらきらーん」
- 例2: ワード「(僕|私)は嬉しい。」 → 結果「僕は嬉しい。」「私は嬉しい。」
メタ文字を組み合わせてみる
組み合わせてより複雑な検索をかけることもできます。
「 ^$ 」
- 行の先頭かつ末尾にのみ存在する文字列を検索
- 例: ワード「^こんにちは$」 → 結果「こんにちは」
「 ▪️* 」
- なんでもいい文字の連続
- 例: ワード「あなたが好き▪️*。」 → 結果「あなたが好き。」「あなたが好きかもしれない。」
まとめ
すごい機能であるという実感はまだわきませんが、とりあえず便利そうだということは理解しました。