正規表現の記号早見表|日本語の例文で当たる部分を確かめる
正規表現の記号は「どの文字か」「何回か」「どこか」「まとめる・選ぶ」の4つの役割に分かれます。日本語の例文1つに当てて、記号ごとに当たる部分を並べた早見表です。記号そのものを探すときの書き方と、全角に当たるかの違いもまとめました。
公開読了目安 約6分
この記事の要点
- 記号は「どの文字か」「何回か」「どこか」「まとめる・選ぶ」の4つの役割に分けて覚える
- 「.*」は最も長く取り、「.*?」は最も短く取る。【】で囲んだ語を1つずつ取るなら後者
- 記号そのものを探すときは前に「\」を付ける。全角の()や.は普通の文字なので付けない
- 「\d」はJavaScriptでは半角の数字だけ。全角の数字に当たるかは使う道具で違う
目次
正規表現の記号は、役割で4つに分けると覚えやすくなります。 「どの文字か」「何回か」「どこか」「まとめる・選ぶ」の4つです。
この記事では、同じ日本語の例文に記号を1つずつ当てて、当たる部分を表にしました。 例文は「会議は10月15日(木)14:00から、会議室Bで。」です。
表の結果は、すべての一致を探す設定(g フラグ)で数えています。
この設定はツールを開いた時点でオンです。
どの表も、正規表現テスターに例文を貼れば同じ結果を確かめられます。
記号は4つの役割に分けると引きやすい
正規表現は、ふつうの文字と記号の組み合わせです。 「会議」と書けば、その2文字の並びをそのまま探します。
記号は、そこに条件を足す道具です。 役割ごとに、よく使うものを並べました。
- どの文字か:
.\d\w\s[ ][^ ] - 何回か:
*+?{n}{n,m} - どこか:
^$ - まとめる・選ぶ:
( )|
困ったときは「いま足したい条件はどの役割か」から引くと、探す範囲が狭まります。
どの文字かを表す記号
1文字ぶんの「当てはまる文字の種類」を決める記号です。 例文は「会議は10月15日(木)14:00から、会議室Bで。」です。
| パターン | 当たる部分 |
|---|---|
(.) | (木) |
\d+ | 10、15、14、00 |
\w+ | 10、15、14、00、B |
[月日] | 月、日 |
[A-Z] | B |
. は改行以外の任意の1文字です(s フラグを付けると改行にも当たります)。
(.) なら、全角のかっこにはさまれた1文字を探します。
\d は半角の数字、\w は半角の英数字と下線です。
\w+ に「会議」が入らないのは、漢字が \w に含まれないためです。
[ ] は、中に並べた文字のどれか1つです。
先頭に ^ を置いた [^0-9] は「数字以外の1文字」になります。
何回くり返すかを表す記号
直前の1文字(またはかっこでまとめた部分)を、何回くり返すかを決めます。 例文は「会議は10月15日(木)14:00から、会議室Bで。」です。
| パターン | 当たる部分 |
|---|---|
会議.? | 会議は、会議室 |
会議室? | 会議、会議室 |
\d{1,2}月 | 10月 |
\d{2}:\d{2} | 14:00 |
*: 0回以上(なくてもよい)+: 1回以上?: 0回か1回(あってもなくてもよい){n}: ちょうどn回{n,m}: n回以上m回以下
会議室? の ? が効くのは、直前の「室」だけです。
「会議」と「会議室」の両方に当たるのはそのためです。
「.*」は最も長く取る
* や + は、当てられる範囲のうち最も長いところを取ります。
後ろに ? を足すと、反対に最も短いところで止まります。
例文は「【重要】会議の件【至急】」です。
| パターン | 当たる部分 |
|---|---|
【.*】 | 【重要】会議の件【至急】 |
【.*?】 | 【重要】、【至急】 |
【.*】 は、最初の「【」から最後の「】」まで一気に取りました。
見出しの印を1つずつ外したいときは、【.*?】 のほうを使います。
どこにあるかを表す記号
文字の種類ではなく、位置を指定する記号です。 例文は「会議は10月15日(木)14:00から、会議室Bで。」です。
| パターン | 当たる部分 |
|---|---|
^会議 | 会議 |
。$ | 。 |
\d+日 | 15日 |
^会議 は文の頭の「会議」だけに当たり、後ろの「会議室」の「会議」には当たりません。
$ は文の終わりです。
複数行の文章で、行ごとの頭と終わりを見たいときは m フラグを付けます。
付けないと、^ と $ は文章全体の最初と最後だけを指します。
英単語の切れ目を表す \b は、日本語の文では思ったように働きません。
理由と日本語の文字の範囲の書き方は「正規表現で日本語マッチを失敗させないコツ」にまとめています。
まとめる記号と、選ぶ記号
| は「どちらか」、( ) は「ひとまとまり」を表します。
例文は「会議は10月15日(木)14:00から、会議室Bで。」です。
| パターン | 当たる部分 |
|---|---|
\d+|B | 10、15、14、00、B |
(月|日) | 月、日 |
かっこには、取り出した部分を置換で使い回す役目もあります。
(\d+)月(\d+)日 を $1/$2 に置き換えると、「10月15日」が「10/15」になります。
$1 は1つめのかっこ、$2 は2つめのかっこの中身です。
置き換えたあとの文は、ツールの置換プレビューで先に確かめられます。
記号そのものを探すときは「\」を付ける
. や ? を、記号ではなく文字として探したいこともあります。
そのときは前に \ を付けて、\. や \? と書きます。
[ ] の外で \ を付ける対象は、次の14個です。
.*+?^$|()[]{}\
[ ] の中では、ハイフンが範囲を表す記号に変わります。
ハイフンそのものを入れるときは、[0-9-] のように端に置くか、\- と書きます。
プログラムの中に /…/ の形でパターンを書くときは、区切りの / にも \ を付けます。
ツールの入力欄では区切りを書かないので、/ はそのままで探せます。
全角の「()」「.」「?」は、記号ではなく普通の文字です。
そのまま書けば探せるので、\ は付けません。
全角の数字や空白に当たるかは記号で違う
日本語の文章には、全角の数字や全角スペースが混ざります。 JavaScript(ブラウザ)の正規表現では、記号によって当たり方が分かれます。
\d: 半角の0〜9だけ。全角の「123」には当たらない\s: 半角スペース・タブ・改行に加えて、全角スペースにも当たる\w: 半角の英数字と下線だけ。全角の「a」や漢字には当たらない
全角の数字も探したいなら、[0-90-9] のように両方を並べます。
こう書けば、どの道具でも同じ意味になります。
同じ \d でも、道具が変わると意味が変わることがあります。
Python の re は、標準の設定では \d が全角の数字にも当たります(Python ドキュメント)。
ブラウザで試したパターンを別の道具へ持っていくときは、全角を含む文で1度確かめてから使います。
\d \w \s を避けて文字を並べて書くと、道具ごとの差が出にくくなります。
早見表を自分の文で確かめる順番
記号の意味が分かっても、実際の文で思いどおりに当たるとは限りません。 次の順で、少しずつ足していくと失敗が見つけやすくなります。
- 探したい部分を含む文を、実物から2〜3行貼る
- まず普通の文字だけで書き、1か所に当たるのを見る
- 変わる部分を、どの文字かの記号に置き換える
- 回数と位置の記号を足し、当たりすぎていないかを見る
正規表現テスターは、入力するたびに当たった部分を色で示し、件数も出します。 当たりすぎたら、最後に足した記号を外して1つ前に戻れます。
関連記事
参考・出典
- 正規表現 - JavaScript(MDN Web Docs) — MDN Web Docs (2026-10-11 閲覧)
- 文字クラスエスケープ: \d, \D, \w, \W, \s, \S(MDN Web Docs) — MDN Web Docs (2026-10-11 閲覧)
- re --- 正規表現操作(Python ドキュメント) — Python Software Foundation (2026-10-11 閲覧)
本記事は上記の公的機関・公式情報源を参考にしています。最新の情報は各リンク先をご確認ください。
あわせて読みたい
同じテーマ・関連ツールの記事です。