文字を整える
中級正規表現テスターを整える。
= 正規表現をその場で試して、当たる場所・取り出した中身・置換結果を見る
正規表現が初めての方は、先に そもそも正規表現とは・どんな場面で使うか をどうぞ。
ハイライト表示
置換した結果
よく使うパターン集・クリックで挿入
そもそも正規表現とは
文字の「並び方のルール」を、短い記号で書く小さな言語。
正規表現(regular expression、略して regex)は、「数字が3つ並んだあとにハイフン」のような文字の並び方のルールを、短い記号で書き表す方法です。文章の中から、そのルールに当てはまる部分を探したり、置き換えたりできます。
文房具の「型抜き」にたとえると近いかもしれません。型(パターン)を1つ作っておけば、大量の文章からその形に合う部分を一度に抜き出せます。ただ、記号が多くて読みにくいので、書いたらすぐ試せる場所が役に立ちます。
どこで・どんな場面で使うか
-
ログからエラーの行だけを探す
サーバーの記録が何千行もあるとき、日時やエラー番号の形を指定して、目的の行だけを取り出します。
-
名簿の電話番号の書き方をそろえる
ハイフンの有無や全角・半角が混ざった電話番号を、1つの書き方にまとめて直すときに。
-
エディタの一括置換
コードエディタや文書ソフトの置換で、「この形の部分だけ」を一度に書き換えるときの下書きとして。
-
入力フォームの形式チェック
郵便番号や会員番号のように、決まった形でなければ受け付けない欄を作るときに使います。
-
Web サイトの URL の振り分けルール
「この形の URL はあちらへ」と指定する設定でも、パターンの書き方として出てきます。
知らないと何が困るか
- 書いた式が、思ったところに当たらない。目で見て確かめないと、探しすぎ(広すぎる)や取りこぼしに気づけません。
- 一括置換で、直したくない所まで書き換えてしまう。先に結果を見てから実行すれば、取り返しのつかない失敗を避けられます。
- 言語ごとの違いに戸惑う。JavaScript とほかの言語では、使える記号が少し違います。ここは JavaScript の正規表現です。
上のツールにパターンとテスト文字列を入れて、どこがハイライトされるか確かめてみてください。
使い方のポイント・4つ
正規表現は「文字のパターン」を表す小さな言語です。
- 1
フラグで「探し方」を切り替える
gは全件、iは大文字小文字を無視、mは複数行で^$を各行に、sは.を改行にも、uは絵文字や\u{...}を正しく扱います。 - 2
カッコ ( ) で「取り出す」
丸かっこで囲んだ部分はキャプチャグループとして番号($1, $2…)で取り出せます。
(?<name>...)と書けば名前付きになり、置換で$<name>として使えます。取り出さず・グループだけ使いたいときは(?:...)。 - 3
置換は $ 記号で参照する
置換後の文字列では、
$&(マッチ全体)、$1(1番目のグループ)、$<name>(名前付き)を使えます。$自体を入れたいときは$$。 - 4
ブラウザの正規表現(ECMAScript)準拠
ここで動くのは JavaScript(ECMAScript) の正規表現です。PCRE・Python・Java などとは一部の構文(後読み
(?<=...)の対応状況、\Z非対応、再帰なし等)が異なります。他環境へ持っていくときは差分にご注意ください。
🔒 マッチ・置換はすべてあなたのブラウザの中(JavaScript の RegExp)で完結します。入力したパターンや文章はサーバに送られません(送信ゼロ)。暴走(ReDoS)を避けるため、マッチ数には上限を設けています。
場面 01
抽出・チェック
ログや文章からメール・URL・日付などを取り出せるか、書きながら確認。
場面 02
一括置換の下書き
エディタやコードで使う前に、置換結果を安全に試して当たりを付ける。
場面 03
学習・教材
グループや後方参照が「どこに効くか」を色とラベルで目で見て理解。
このツールについて
パターンとフラグ、試したい文字列を入れると、マッチした場所をその場でハイライト。カッコで取り出したグループの中身や、置換した結果のプレビューもすぐ確認できます。よく使う型(メール・URLなど)はクリックで挿入。入力はこの端末から一切出ません(送信ゼロ)。
パターンとフラグを入れると、当たった箇所が色付きで見える。取り出したグループや置換結果もその場で確認。送信ゼロ。
🔰 かんたんに言うと
文字を探したり置き換えたりするための「パターンの書き方(正規表現)」を、その場で試せます。
主な機能
- マッチ箇所を色付きハイライト(複数マッチ・位置・空マッチも)
- 番号付き/名前付きキャプチャグループとマッチ数を一覧
- 置換プレビュー($1・$<name>・$& 対応)
- よく使うパターン集(メール/URL/電話/郵便番号/日付ほか)
- 不正な正規表現はやさしい日本語で警告・ReDoS対策
- 入力はブラウザ内で完結・送信ゼロ(ECMAScript準拠)
📖 このツールで使う用語
用語集トップへ →分からない用語があれば、クリックして解説をご覧ください。
よくある質問
Q. 入力したパターンや文章はどこかに送信されますか?
A. いいえ。マッチ・置換はすべてあなたのブラウザの中(JavaScriptのRegExp)で実行され、パターン・テスト文字列・置換文字列はサーバに送られません(送信ゼロ)。
Q. フラグ g・i・m・s・u はそれぞれ何ですか?
A. g=全件検索、i=大文字小文字を無視、m=^と$を各行に効かせる、s=.を改行にもマッチ、u=Unicode(絵文字や\u{...})を正しく扱う、です。
Q. キャプチャグループの番号付きと名前付きの違いは?
A. (...)は番号($1,$2…)で取り出し、(?<name>...)は名前で取り出します。取り出さずグループ化だけしたいときは(?:...)を使います。
Q. 置換ではどんな書き方ができますか?
A. $&(マッチ全体)、$1(1番目のグループ)、$<name>(名前付き)、$`(前)、$'(後)が使えます。$自体を入れたいときは$$と書きます。
Q. 他のツールやプログラミング言語の正規表現と同じですか?
A. ここはJavaScript(ECMAScript)準拠です。PCRE・Python・Javaなどとは一部構文(後読みの対応状況、再帰なし等)が異なるため、移植時はご注意ください。
Q. マッチが0件になります。何を確認すべきですか?
A. .や*などの特殊文字をそのまま探すには\でエスケープが必要です。また大文字小文字はiフラグ、全件はgフラグが必要です。エラー表示が出ていれば、丸かっこ・角かっこの閉じ忘れを確認してください。
入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。