正規表現テスト
正規表現を試して、一致したところに色を付けます。グループの中身や置換の結果もすぐに見られます。
正規表現と文章
フラグ
0文字・0行
結果
結果の見せ方
正規表現と文章を入れると、一致したところに色が付きます。
処理はこの端末の中で行われ、入れた文字はどこにも送られません。
JavaScript(ブラウザ)の正規表現で動きます。Python・PHP・Java などとは、使える書き方が少し違うことがあります。
役に立ったら、シェアしてもらえるとうれしいです
使い方
1. 正規表現を入れる
「正規表現」の欄に、探したい形を打ち込みます。\d や [ ] のような打ちにくい記号は、欄の下の記号のボタンをタップすると、カーソルの位置に入ります。「よく使う書き方から選ぶ」で、メールアドレスや日付などの形を選んでもかまいません。欄の右上の「意味」をタップすると、部品ごとに何に一致するかが並びます。
左の欄の「正規表現」に、探したい形を打ち込みます。\d や [ ] のような打ちにくい記号は、欄の下の記号のボタンを押すと、カーソルの位置に入ります。「よく使う書き方から選ぶ」で、メールアドレスや日付などの形を選んでもかまいません。欄の右上の「意味」を押すと、部品ごとに何に一致するかが並びます。
2. 文章を入れる
下の「調べる文章」に、探す相手の文章を貼り付けるか打ち込みます(「見本」をタップすると見本の文章が入ります)。入れるとすぐに、その下の「結果」で一致したところに色が付き、一致した数が出ます。
左の欄の下の「調べる文章」に、探す相手の文章を貼り付けるか打ち込みます(「見本を入れる」を押すと見本の文章が入ります)。入れるとすぐに、右の欄で一致したところに色が付き、一致した数が出ます。
3. フラグを切り替えて、一致の一覧を見る
「フラグ」の「g すべて」をオフにすると、最初の1つだけを探します(オンに戻すと、すべて探します)。下の「一致の一覧」には、一致ごとの位置とグループ($1・<year> など)の中身が並びます。行をタップすると、上の文章のその場所が選ばれます。
「フラグ」の「g すべて」をオフにすると、最初の1つだけを探します(オンに戻すと、すべて探します)。右の「一致の一覧」には、一致ごとの位置とグループ($1・<year> など)の中身が並びます。行を押すと、左の文章のその場所が選ばれます。
4. 一致した部分だけを取り出す
「結果」の上で「取り出す」を選ぶと、一致した部分だけが1行に1つずつ並びます。グループがあるときは、「一致した全体」の選択欄で <year> などのグループだけを選べます。「重複を除く」をオンにすると同じものは1つにまとまり、「取り出した結果をコピー」でコピー、「テキストで保存」でファイルに保存します。
右の欄の上で「取り出す」を選ぶと、一致した部分だけが1行に1つずつ並びます。グループがあるときは、「一致した全体」の選択欄で <year> などのグループだけを選べます。「重複を除く」をオンにすると同じものは1つにまとまり、「取り出した結果をコピー」でコピー、「テキストで保存」でファイルに保存します。
5. 置換を試して、コピーする
「結果」の上で「置換」を選び、「置き換える文字」に $<day>/$<month>/$<year> のように打ち込むと、置き換えた文章がすぐに出ます。「置換の結果をコピー」をタップすると、その文章をコピーします。
右の欄の上で「置換」を選び、「置き換える文字」に $<day>/$<month>/$<year> のように打ち込むと、置き換えた文章がすぐに出ます。「置換の結果をコピー」を押すと、その文章をコピーします。
こんなときにおすすめ
書いた正規表現が合っているか確かめたい
プログラムに入れる前に、ねらった文字だけに一致するか、余計なところまで一致していないかを、色でひと目で確かめられます。できたら、Python・PHP・Go などの言語を選んで、そのままコードに貼れる形でコピーできます。
Webエンジニア・プログラミングを学んでいる人
人が書いた正規表現を読みたい
引き継いだコードや記事にある正規表現を貼り付けて「意味」を押すと、「数字1文字を4回」のように、部品ごとに何に一致するかが短い言葉で並びます。
コードを読む人・プログラミングを学んでいる人
ログや表から、決まった形の文字を抜き出したい
メールアドレス・日付・注文番号などを探して、「取り出す」で1行に1つずつ並べ、コピーしたり、テキストのファイルに保存したりできます。
データを集計する人・サポートの担当者
グループの部分だけを、重複なく集めたい
メールアドレスのドメインや URL のホスト名のように、( ) で囲んだ部分だけを取り出せます。「重複を除く」をオンにすれば、同じものが何度も出てくる一覧も1つずつにまとまります。
データを集計する人・Webの担当者
まとめて書き換える前に、置換を試したい
エディタやスプレッドシートで一括置換する前に、$1 などを使った置き換えの結果を確かめられます。
文章や表を整える人
フォームの入力チェックを作りたい
郵便番号や電話番号の形をチェックする正規表現を、いろいろな入力で試しながら作れます。
フォームを作る人
使う前に知っておきたいこと
- JavaScript の正規表現で動きます。Python・PHP・Java・.NET だけにある書き方(所有量指定子 ++ や (?i) など)は使えません。
- ほかの言語の形でコピーするときは、書き方の違うところを直せる範囲で直します。直せないもの(Go の後読みなど)は一言知らせるので、その言語でも試してください。
- 時間がかかりすぎる正規表現は、2秒で止めて知らせます。止まったときは、くり返しの重なりを減らしてください。
- 一致の一覧に出すのは最初の300件、色を付けて取り出すのは最初の5,000件までです(数は最後まで数えます)。
正規表現のテストについて
正規表現は、「数字が4つ続く」「@ をはさんだ英数字」のような文字の形を、\d{4} や [\w.]+@[\w.]+ のような短い記号で書く方法です。検索・置換・入力チェックなど、多くのプログラムやエディタで使われていますが、少し書き間違えるだけで、ねらいと違うところに一致してしまいます。
このツールは、打つたびにブラウザの JavaScript の正規表現でその場で調べ、一致したところに色を付けます。グループ(( ) で囲んだ部分)や名前付きグループ((?<名前>…))の中身も一致ごとに並べるので、取り出したい部分が正しく取れているかを確かめられます。(a+)+ のような計算が終わらない書き方でも、画面が止まらないよう、別の流れの中で時間を決めて調べます。
よくある質問
正規表現のテストで、迷いやすいことをまとめました。
入れた文章や正規表現は、どこかに送られますか?
送られません。調べる処理はすべてお使いの端末のブラウザの中で行われ、入れた文章や正規表現がサーバーに送られたり、保存されたりすることはありません。社内のログや個人情報を含む文章でも使えます。
どの言語の正規表現で動きますか?
JavaScript(ブラウザの RegExp)の正規表現です。名前付きグループ (?<名前>…)、後読み (?<=…)、\p{…}(u フラグ)なども使えます。Python・PHP・Java などとは細かな書き方が違うことがあるので、ほかの言語で使うときは、その言語の説明も確かめてください。
Python や PHP のコードに使えますか?
はい。「正規表現」の欄の右上で、JavaScript・Python・PHP・Java・Ruby・Go から言語を選んでコピーのボタンを押すと、その言語のコードの形でコピーします。Python の (?P<名前>…)、Ruby の \A・\z、Go の (?i) のように、書き方の違うところは直します。Go の後読みのように、その言語では書けないものは、欄の下に一言出します。選んだ言語は、次に開いたときも残ります。
「/abc/gi」の形で貼り付けられますか?
はい。「正規表現」の欄が空のときに /abc/gi の形で貼り付けると、正規表現の部分とフラグに分けて入ります。逆に、欄の右上で「JavaScript」を選んでコピーのボタンを押すと、今の正規表現を /…/ の形でコピーし、JavaScript のコードにそのまま貼れます。
正規表現の意味を確かめられますか?
「正規表現」の欄の右上の「意味」を押すと、正規表現を部品に分けて、「数字1文字を4回」「名前 year のグループ」のように、1つずつ何に一致するかを並べます。グループの中は字下げして並ぶので、かっこの組み合わせも確かめられます。
一致した部分だけを一覧にできますか?
「取り出す」を選ぶと、一致した部分が1行に1つずつ並びます。グループがあるときは、その部分($1・<名前>)だけも選べます。「重複を除く」で同じものを1つにまとめ、コピーしたり、テキストのファイルに保存したりできます。フラグの g がオフのときは、最初の1つだけです。
グループの中身はどこで見られますか?
右の「一致の一覧」に、一致ごとに $1・$2 …(名前付きグループは <名前>)の中身が並びます。一致しなかったグループは「(一致なし)」と出ます。
置換で使える書き方は?
「置換」を選ぶと、「置き換える文字」に $1・$2 …(グループ)、$<名前>(名前付きグループ)、$&(一致した全体)、$$($ そのもの)が使えます。フラグの g がオンならすべて、オフなら最初の1つだけを置き換えます。
「時間がかかりすぎるため、止めました」と出ました
(a+)+ や (.*)* のように、くり返しの中にくり返しがある正規表現は、一致しない文章で計算の量が爆発的に増えることがあります(バックトラックの爆発)。画面が止まらないよう、2秒で止めています。くり返しを1つにまとめるか、.* の代わりに [^,]* のように一致する文字を絞ってください。
大文字と小文字を区別せずに探すには?
「フラグ」の「i 大小を区別しない」をオンにします。A と a、A と a のように、大文字と小文字を同じ文字として探します(全角と半角は別の文字のままです)。
^ や $ が行ごとに一致しません
^ と $ は、最初は文章全体の始まりと終わりにだけ一致します。行ごとに一致させるには、「フラグ」の「m 行ごと」をオンにします。
ひらがなや漢字を探せますか?
はい。「よく使う書き方から選ぶ」に、ひらがな・カタカナ・漢字・全角の文字があります。漢字の \p{Script=Han} には u フラグが要るので、選ぶと u も自動でオンになります。
無料で使えますか?
はい、無料です。登録やインストールは要らず、広告もありません。何度でも、文章の長さを気にせずに使えます。
ほかのツール
- 全角・半角を変換
英数字やカタカナの全角と半角を、まとめて変換します。
- ひらがな⇔カタカナ変換
ひらがな・カタカナ・半角カナを、まとめて変換します。漢字や英数字はそのまま残します。
- SNSの文字数チェック(X・Instagram・YouTube)
X・Instagram・YouTubeなどの上限まであと何文字かを、SNSごとの数え方で数えます。文字数・行数・原稿用紙の枚数も。
- JSON整形
JSONを読みやすく整えたり、1行に詰めたりします。間違いがあれば場所を示します。
- URLエンコード・デコード
日本語や記号をURLで使える形(%E3%81%82など)にエンコードしたり、元の文字に戻したりします。
- パスワード生成
長さと使う文字を選んで、推測されにくいパスワードをその場で作ります。