正規表現とは#
正規表現は、テキストの規則を記録するためのコードです。
正規表現のテスト#
オンラインテストツール:wegester
メタ文字#
コード | 説明 |
---|---|
. | 改行以外の任意の文字にマッチ |
\w | 英数字またはアンダースコアまたは漢字にマッチ |
\s | 任意の空白文字にマッチ |
\d | 数字にマッチ |
\b | 単語の先頭または末尾にマッチ |
^ | 文字列の先頭にマッチ |
$ | 文字列の末尾にマッチ |
例:
検索対象 | 正規表現 |
---|---|
hi の後ろに Lucy が続く | \bhi\b.*\bLucy\b |
0 から始まり、2 つの数字、ハイフン、最後に 8 つの数字が続く | 0\d\d-\d\d\d\d\d\d\d\d または 0\d {2}-\d {8} |
a で始まる単語にマッチ | \ba\w*\b |
1 つ以上の連続した数字にマッチ | \d+ |
ちょうど 6 文字の単語にマッチ | \b\w{6}\b |
文字列全体が 5 から 12 桁の数字にマッチ | ^\d{5,12}$ |
文字のエスケープ#
例:
検索対象 | 正規表現 |
---|---|
deerchao.cn | deerchao\.cn |
C:\Windows | C:\\Windows |
繰り返し#
コード / 構文 | 説明 |
---|---|
* | 0 回以上の繰り返し |
+ | 1 回以上の繰り返し |
? | 0 回または 1 回の繰り返し |
{n} | n 回の繰り返し |
{n,} | n 回以上の繰り返し |
{n,m} | n から m 回の繰り返し |
例:
正規表現 | 検索対象 |
---|---|
Windows\d+ | Windows の後に 1 つ以上の数字が続く |
^\w+ | 行の先頭の単語 |
文字クラス#
例:
正規表現 | 検索対象 |
---|---|
[aeiou] | 任意の英語の母音文字 |
[0-9] | 1 桁の数字 |
(?0\d{2}[) -]?\d{8} | いくつかの形式の電話番号 |
分岐条件#
分岐条件に一致する場合、左から右に条件をテストし、一致する条件があれば他の条件は無視されます。
例:
正規表現 | 検索対象 |
---|---|
0\d{2}-\d{8}|0\d{3}-\d{7} | 3 桁の市外局番、8 桁の市内番号 または 4 桁の市外局番、7 桁の市内番号 |
\d{5}-\d{4}|\d{5} | アメリカの郵便番号は 5 桁の数字、またはハイフンで区切られた 9 桁の数字 |
グループ化#
サブパターン(またはグループ) を指定するために、小括弧を使用することができます。
例:
正規表現 | 検索対象 |
---|---|
(\d{1,3}.){3}\d{1,3} | 簡単な IP アドレスの一致 |
((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) | 正しい IP アドレス |
否定#
コード | 説明 |
---|---|
\W | 英字、数字、アンダースコア、漢字以外の任意の文字 |
\S | 空白文字以外の任意の文字 |
\D | 数字以外の任意の文字 |
\B | 単語の先頭または末尾以外の位置 |
[^x] | x 以外の任意の文字 |
[^aeiou] | aeiou 以外の任意の文字 |
例:
正規表現 | 検索対象 |
---|---|
\S+ | 空白文字を含まない文字列 |
<a[^>]+> | a で始まる尖括弧で囲まれた文字列 |