はじめに
Web開発やデータ処理、ログ解析などで頻出する 正規表現(Regular Expression)。
うまく使いこなせれば、文字列の検索・抽出・置換を驚くほど効率的に行えます。
しかし、記号が多くてとっつきにくいのも事実。
この記事では、正規表現を学ぶのに最適な学習サイト「RegexOne」の紹介と、そこで使われている記法を日本語で丁寧に解説します。
RegexOneとは?
RegexOne は、ブラウザ上でインタラクティブに正規表現を学べる無料サイトです。
英語が苦手でも操作は直感的
基本から応用まで段階的に学べる
実際に試しながら習得できる
初学者にとって非常におすすめのサイトです!
👉 サイトURL:https://regexone.com
正規表現の基本記号(RegexOne対応)
以下はRegexOneで学べる正規表現の基本パターンとその日本語訳です。
調査・抽出作業のメモとしても活用できます!
正規表現 | 説明(日本語) |
---|---|
abc… |
任意の文字(abcなどの文字列) |
123… |
任意の数字(123などの数字列) |
\d |
任意の数字(0〜9) |
\D |
数字以外の任意の文字 |
. |
任意の1文字 |
\. |
ピリオド(.)そのもの |
[abc] |
a または b または c のいずれか1文字 |
[^abc] |
a・b・c以外の任意の1文字 |
[a-z] |
a〜zの小文字1文字 |
[0-9] |
0〜9の数字1文字 |
\w |
英数字またはアンダースコア(A〜Z, a〜z, 0〜9, _) |
\W |
英数字・アンダースコア以外の文字 |
{m} |
ちょうど m 回の繰り返し |
{m,n} |
m 回以上 n 回以下の繰り返し |
* |
0回以上の繰り返し |
+ |
1回以上の繰り返し |
? |
0回または1回(省略可能な文字) |
\s |
空白文字(スペース、タブ、改行など) |
\S |
空白文字以外 |
^…$ |
行の先頭から末尾までを表す(完全一致) |
(…) |
キャプチャグループ(後で参照可能) |
(a(bc)) |
入れ子のキャプチャ(例:全体と部分を両方キャプチャ) |
(.*) |
任意の文字列すべてをキャプチャ |
(abc|def) |
abc または def のいずれかにマッチ |
まとめ
正規表現は覚えるのが難しそうに見えて、基本パターンを押さえればかなり強力な武器になります。
特に調査やログ抽出、スクレイピングなどでは 「検索力」=「正規表現力」 と言っても過言ではありません。