
正規表現とは#
正規表現は、テキストの規則を記録するためのコードです。
正規表現のテスト#
オンラインテストツール: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 で始まる尖括弧で囲まれた文字列 |