目次
正規表現とは
「.」や「+」などのメタ文字(特殊文字)を使って、パターンを表現する記述方法です。
複雑で長い文字列を 1 つの文字列で表現したり、マッチする文字列を抽出したりすることができます。
Python 環境での主な正規表現
直後の文字が行の先頭にある場合にマッチ「^」
直後の文字が行の先頭にある場合にマッチします。
- 正規表現の例
^機動戦士- マッチする文字列
機動戦士Zガンダム
機動戦士ZZガンダム
機動戦士ガンダムSEED直前の文字が行の末尾にある場合にマッチ「$」
直前の文字が行の末尾にある場合にマッチします。
- 正規表現の例
ガンダム$- マッチする文字列
機動戦士Zガンダム
機動戦士ZZガンダム任意の 1 文字にマッチ「.」
任意の 1 文字にマッチします。
- 正規表現の例
RMS-...- マッチする文字列
RMS-106
RMS-108
RMS-179直前の文字が 0 回以上繰り返す「*」
直前の文字が 0 回以上繰り返す場合にマッチします。
- 正規表現の例
MS ERA 0*1- マッチする文字列
MS ERA 0001
MS ERA 1 ※0 回以上なので、繰り返さなくてもよい- 「.」との組み合わせ例
.*1- マッチする文字列
MS ERA 0001
GX-9900NT-001直前の文字が 1 回以上繰り返す「+」
直前の文字が 1 回以上 繰り返す場合にマッチします。
- 正規表現の例
MS ERA 0+1- マッチする文字列
MS ERA 0001
MS ERA 01いずれかの条件(OR 条件)にマッチ「|」
いずれかの条件を満たす場合にマッチします。
- 正規表現の例
機動戦士(Zガンダム|ZZガンダム|ガンダムSEED) ※() で文字をグループ化できます- マッチする文字列
機動戦士Zガンダム
機動戦士ZZガンダム
機動戦士ガンダムSEED指定した文字のいずれかにマッチ「[]」
[] 内の文字のいずれかが含まれている場合にマッチします。
- 正規表現の例
[Zガンダム]- マッチする文字列
Zガンダム
ZZガンダム
ガンダムZZ指定した文字以外にマッチ「[^]」
[^] 内の文字以外が含まれている場合にマッチします。[1]行の先頭の「^」とは意味合いが変わるので注意
- 正規表現の例
[^Zガンダム]- マッチする文字列
ザク
ゲルググ正規表現の一覧
| 正規表現 | 意味 |
| ^ | 行の最初 |
| $ | 行の最後 |
| . | 任意の一文字 |
| […] | 括弧内の一文字([abc] なら abc の内の一文字) |
| * | 0 回以上の繰返し |
| + | 1 回以上の繰返し |
| ? | 0 回か 1 回 |
| {n} | n 回の繰返し, n 個 |
| {m,n} | m 回以上、n 回以下の繰返し, m〜n 個 |
| a-z | 小文字の半角英文字 |
| A-Z | 大文字の半角英文字 |
| 0-9 | 数字 |
| – | 範囲 |
| ^ | 否定 (^0-9 は数字以外) |
Python 向け正規表現チェッカー
Pythex is a real-time regular expression editor for Python, …
以上
脚注
| ↑1 | 行の先頭の「^」とは意味合いが変わるので注意 |
|---|
