RakkoTools

正規表現チェッカー

PHP、JavaScript、Pythonの正規表現をチェック、検証

Xのアイコン
PR 構築済みのブログ5秒で買える!
リアルタイムサイト売買のラッコマーケット
お気に入りツール登録
/ /

できること

正規表現と対象のテキストを入力し、対象テキストの正規表現に一致する箇所をハイライト表示します。
また、PHPではpreg_match_allの結果も表示します。

修飾子とは?

フラグとも呼ばれ、正規表現の動作を変更します。
たとえば、正規表現「/ hello /」で大文字小文字関係なく”hello”と”Hello”の両方にマッチさせたい場合は、パターン(//)の末尾に「i」を付与します。



特殊な正規表現文字:

< td>直前のパターンを0回以上連続させます。 {0、}と同等。
たとえば、/ bo * /は、”A ghost booooed”の”boooo”および”A bird warbled”の”b”にマッチしますが、”A goat grunted”には何もマッチしません。< td> 直前のパターンがn回連続します。 nは正の整数でなければなりません。
たとえば、/ a {2} /は”caandy”のすべてのaと、”caaandy”の最初の2つのaとマッチします。しかし、”candy”の”a”とはマッチしません。
^行の先頭を表します。
たとえば、/ ^ Apple /は”Apple never falls …”とはマッチしますが、”An Apple a day …”とはマッチしません。
$行の最後を表します。
たとえば、/ eat $ /は”Let's eat”にはマッチしますが、”In the eatery”にはマッチしません。
.(コンマ、ピリオド)改行以外の全ての文字を表します。
たとえば、/.n /は、”nay, apple is on the tree”の”an”と”on”にマッチしますが、”nay”にはマッチしません。
s( 'dotAll')フラグがtrueに設定されている場合、改行にもマッチします。
[xyz]文字セット。エスケープシーケンスを含む、かっこ内の文字のいずれかとマッチします。ドット(.)やアスタリスク(*)などの特殊文字は、文字セット内では特殊ではないため、エスケープ処理をする必要はありません。
次の例のように、ハイフンを使用して文字の範囲を指定できます。 [abcd]と同じマッチングを実行するパターン[a-d]は、”brisket”の”b”および”city”の”c”にマッチします。パターン/[az.]+/および/[\w.]+/は、ストリング”test.i.ng”全体にマッチします。
*
+直前のパターンを1回以上連続させます。 {1、}と同等。
たとえば、/ a + /は”candy”の”a”と”caaaaaaandy”のすべてのaにマッチしますが、”cndy”には何もマッチしません。
前の表現を0回または1回表示させます。 {0,1}と同等。
たとえば、/ e?le?/は、”angel”の”el”、”angle”の”le”、”oslo”の”l”にマッチします。数量詞*、+、?、または{}のいずれかの直後に使用すると、デフォルトの貪欲(可能な限り多くの文字にマッチすること)とは対照的に、数量詞を非貪欲(できるだけ少ない文字にマッチすること)にします。
たとえば、/ \ d + /を”123abc”に適用すると、”123”にマッチします。ただし、同じ文字列に/ \ d +?/を適用すると、”1”のみがマッチします。このテーブルのx(?= y)およびx(?!y)エントリで説明されている先読みアサーションでも使用されています。
{n}
{m、n} 直前のパターンが最小n回、最大m回連続します。 mを省略すると、∞として処理されます。(nとmは正の整数、n<= m)
たとえば、/ a {1,3} /は、”candy”の”a”、”caandy”の最初の2つの”a”、および”caaaaaaandy”の最初の3つの”a”にマッチします。しかし、”cndy”にはマッチしません。 ”caaaaaaandy”のような、元の文字列にさらにaが含まれている場合でも、マッチするのは”aaa”であることに注意してください。
a-zaからzの範囲内の文字とマッチします。
A-Z AからZの範囲内の文字とマッチします。
0-9 0から9の範囲内の文字とマッチします。

使用例

  • テキスト内のパターンを検索し、テキストが正しいかどうかを確認する
  • 定義されたパターンに基づいてテキストを分割し抽出する
  • 正規表現の記述が正しいかテストテキストを用いて検証する

関連ツール