「書いた本人が3日後には読めなくなるコード」の代表格、それが正規表現です。
このツールは、ブラウザ上でJavaScriptの正規表現(RegEx)をリアルタイムにテストし、マッチした箇所を即座にハイライト表示します。呪文のようなパターン作成の試行錯誤を、少しでも快適にするためにご利用ください。
🔍 正規表現テスター(JS用)
複雑な技術を体系的に学ぶオライリー本
スポンサーリンク
マッチするか不安な時の利用シーン
正規表現は強力ですが、一文字間違えるだけで全く動作しないか、予期せぬ文字列まで巻き込んで破壊する諸刃の剣です。 以下のような場面で、安全なサンドボックスとしてご活用ください。
| 入力フォームのバリデーション | メールアドレス、電話番号、郵便番号など、ユーザー入力が特定の形式に従っているかをチェックする正規表現(^[a-zA-Z0-9]+$ など)の動作確認に。 |
|---|---|
| ログからのデータ抽出 | 膨大なサーバーログから、特定のエラーコードやIPアドレスだけを抜き出したい時、意図した部分だけにマッチしているかを事前にテストできます。 |
| エディタでの一括置換前 | VSCodeなどのエディタで正規表現置換を行う前に、パターンが正しく機能するかを確認できます。誤って必要なコードまで置換してしまう事故を防ぎます。 |
早見表:正規表現のメタ文字(チートシート)
「数字って \d だつけ? \w だつけ?」と迷った時のためのカンニングペーパーです。 よく使う基本的な記号をまとめました。
文字クラス・特殊文字
| 記号 | 意味・マッチする内容 |
|---|---|
| . | 任意の1文字(改行を除く) |
| \d | 数字 [0-9] |
| \w | 英数字とアンダースコア [a-zA-Z0-9_] |
| \s | 空白文字(スペース、タブ、改行など) |
| ^ | 行の先頭 |
| $ | 行の末尾 |
繰り返し(量指定子)
| 記号 | 意味 |
|---|---|
| * | 0回以上(無くてもOK、あってもOK) |
| + | 1回以上(最低1つは必須) |
| ? | 0回 または 1回 |
| {n,m} | n回以上、m回以下 |
よくある質問 (FAQ)
Q 「/」で囲む必要はありますか?
A. 不要です。本ツールでは、中身のパターン部分(^abcなど)だけを入力してください。両端の / は自動的に処理されるイメージです。
Q 肯定先読み(Lookahead)などは使えますか?
A. はい、お使いのブラウザが対応していれば使用可能です。最近のモダンブラウザ(Chrome, Edge, Firefox等)であれば、肯定先読み(?=...)や否定先読み(?!...)だけでなく、後読み(Lookbehind)もサポートされています。
Q なぜか1箇所しかマッチしません。
A. 「g (Global)」フラグがOFFになっていませんか? これがOFFだと、正規表現は「最初の1つ」を見つけた時点で満足して仕事をやめてしまいます。全体を検索するには必ずONにしてください。
開発者のひとりごと
👨💻
「正規表現は、人間が書く言語ではありません」
これは私が新人の頃、先輩エンジニアに言われた言葉です。当時は笑っていましたが、複雑な正規表現を書いて動いた時の「全能感」と、3ヶ月後に修正しようとして全く解読できなかった時の「絶望感」を知った今なら、深く頷けます。
あれは古代文字か、あるいは宇宙からのメッセージです。 いきなり本番のコードに書くのは、目隠しで爆弾解体を行うようなもの。 まずはこの安全なテスト環境で、思う存分爆発させてください。