初めに
本記事は、正規表現でよく使われる記法をまとめます。
正規表現の記法
記号 | 意味 | 例 |
---|---|---|
^ | 行頭 | ^abc は「abc」で始まる文字列にマッチ |
$ | 行末 | abc$ は「abc」で終わる文字列にマッチ |
. | 任意の1文字 | . は任意の1文字にマッチ |
[abc] | 指定した文字のいずれか1文字 | [abc] は「a」、「b」、「c」のいずれかにマッチ |
[^abc] | 指定した文字以外のいずれか1文字 | [^abc] は「a」、「b」、「c」以外のいずれかにマッチ |
[A-Z] | A, B, ..., Z のうちいずれか1文字 | [0-9] :0から9までの整数のうち1文字[ぁ-ん] :平仮名なども可能 |
* | 直前の文字が0回以上繰り返される | .* 0文字以上の任意の文字列 |
+ | 直前の文字が1回以上繰り返される | .+ は1文字以上の任意の文字列 |
? | 直前の文字が0回または1回繰り返される | abc? は「ab」、「abc」にマッチ |
{n} | 直前の文字がn回繰り返される | abc{3} は「abcabcabc」にマッチ |
{n,} | 直前の文字がn回以上繰り返される | abc{3,} は「abcabcabc...」にマッチ |
{n,m} | 直前の文字がn回以上m回以下繰り返される | abc{2,5} は「abcabc」、「abcabca」、「abcabcab」にマッチ |
( ) | マッチする部分をキャプチャする | (abc) は「abc」をキャプチャする |
\n | 改行文字 | \n は改行文字にマッチ |
\t | タブ文字 | \t はタブ文字にマッチ |
\r | 復帰文字 | \r は復帰文字にマッチ |
\s | 空白文字 | \s はスペース、タブ、改行文字などの空白文字にマッチ |
\d | 数字 | \d は数字にマッチ |
\w | 英数字 | \w は英数字にマッチ |
\W | 英数字以外の文字 | \W は英数字以外の文字にマッチ |
\x | 16進数 | \x0a は改行文字(16進数では0x0a)にマッチ |
\u | 16進数(Unicode) | \u0061 は小文字「a」(16進数では0x0061)にマッチ |
注意点
平仮名の文字コードは次のような順になっています。
ぁ, あ, ぃ, い, ぅ, う, ぇ, え, ぉ, お, か, が, き, ぎ, く, ぐ, け, げ, こ, ご, さ, ざ, し, じ, す, ず, せ, ぜ, そ, ぞ, た, だ, ち, ぢ, っ, つ, づ, て, で, と, ど, な, に, ぬ, ね, の, は, ば, ぱ, ひ, び, ぴ, ふ, ぶ, ぷ, へ, べ, ぺ, ほ, ぼ, ぽ, ま, み, む, め, も, ゃ, や, ゅ, ゆ, ょ, よ, ら, り, る, れ, ろ, ゎ, わ, ゐ, ゑ, を, ん
そのため、[ぁ-ん]
には濁点が含まれています。
このような事例はアルファベットにもあります。
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \\, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
アルファベットの大文字と小文字の間には、[ や ] があります。そのため、[A-z]
には、アルファベット以外の記号が含まれてしまいます。