ダッシュボードに戻る

正規表現テスターとデバッガー

視覚的な強調表示を使用したライブ正規表現テスト。

/ /
g

Regex Tester — 正規表現をリアルタイムでテストおよびデバッグする

正規表現 (regex) は、開発者の武器庫の中で最も強力なツールの 1 つであり、また最も難解なツールの 1 つです。うまく作成された 1 つの正規表現で、50 行の文字列解析コードを置き換えることができます。当社のリアルタイム テスターを使用すると、IDE の編集、保存、実行サイクルを行わずに、パターンを構築、テスト、理解することができます。

正規表現構文のクイック リファレンス

パターン 一致
\\\\d0 ~ 9 の任意の数字\\\\d{4}2024年の試合
\\\\w単語文字 (文字、数字、_)\\\\w+「hello_world」に一致します
^ / $文字列の開始/終了^\\\\d{5}$5桁の郵便番号のみに一致します
[...]セット内の任意の文字[アイオウ]任意の母音に一致します
(?:...)非捕獲グループキャプチャグループに保存しないグループ
(?=...)前向きの先読み\\\\w+(?=\\\\.com)サブドメインに一致します

ブックマークに値する 5 つの現実世界の正規表現パターン

  1. 電子メールの検証: /^[\\\\w.-]+@[\\\\w.-]+\\\\.[a-z]{2,}$/i
  2. 米国の電話番号: /^(\\\\+1)?[\\\\s.-]?\\\\(?\\\\d{3}\\\\)?[\\\\s.-]?\\\\d{3}[\\\\s.-]?\\\\d{4}$/
  3. URL 抽出: /https?:\\\\/\\\\/[^\\\\s"']+/g
  4. 強力なパスワードチェック: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)(?=.*[@$!%*?&])[A-Za-z\\\\d@$!%*?&]{8,}$/
  5. 余分な空白を削除します。 /\\\\s+/g単一のスペースに置き換えます

よくある質問

g、i、m フラグは何をするのでしょうか?

g(グローバル): 最初の一致だけでなく、すべての一致を検索します。: 大文字と小文字は区別されません。メートル(複数行): ^ と $ は、文字列境界ではなく行境界に一致します。

私の正規表現はここでは機能するのに、Python では機能しないのはなぜですか?

このテスターは JavaScript の正規表現エンジンを使用します。パイソンのモジュールには構文に小さな違いがあります。特に、Python では次のような違いがあります。(?P<名前>...)名前付きグループの場合、JavaScript では(?<名前>...).

壊滅的な後戻りの原因は何ですか?

のようなパターン(a+)+一致しない長い文字列に適用すると、指数関数的な時間計算量が発生します。原子グループまたは所有量指定子をサポートするエンジンでそれらを使用するか、ネストされた繰り返しを避けるためにパターンを再構築します。