[Osaka/Yokohama] Looking for infrastructure/server side engineers!

[Osaka/Yokohama] Looking for infrastructure/server side engineers!

[Deployed by over 500 companies] AWS construction, operation, maintenance, and monitoring services

[Deployed by over 500 companies] AWS construction, operation, maintenance, and monitoring services

[Successor to CentOS] AlmaLinux OS server construction/migration service

[Successor to CentOS] AlmaLinux OS server construction/migration service

[For WordPress only] Cloud server “Web Speed”

[For WordPress only] Cloud server “Web Speed”

[Cheap] Website security automatic diagnosis “Quick Scanner”

[Cheap] Website security automatic diagnosis “Quick Scanner”

[Reservation system development] EDISONE customization development service

[Reservation system development] EDISONE customization development service

[Registration of 100 URLs is 0 yen] Website monitoring service “Appmill”

[Registration of 100 URLs is 0 yen] Website monitoring service “Appmill”

[Compatible with over 200 countries] Global eSIM “Beyond SIM”

[Compatible with over 200 countries] Global eSIM “Beyond SIM”

[If you are traveling, business trip, or stationed in China] Chinese SIM service “Choco SIM”

[If you are traveling, business trip, or stationed in China] Chinese SIM service “Choco SIM”

[Global exclusive service] Beyond's MSP in North America and China

[Global exclusive service] Beyond's MSP in North America and China

[YouTube] Beyond official channel “Biyomaru Channel”

[YouTube] Beyond official channel “Biyomaru Channel”

正規表現が試せる、使える! RegExrのご紹介

こんにちは。
開発チームのワイルド担当、まんだいです。

開発をやっていると、正規表現を使うことはよくあることで、何となく適当な正規表現を書くと、ビビるようなバグを産んでしまう可能性があります。
なので、正規表現のテストや動作確認をしたいけれど、テストコード書くのは……という時に、便利なサイトを紹介します。

 

正規表現の確認に、RegExrを使ってみよう

RegExrというサイトがあります。

このサイトでは、正規表現の確認をするために便利な機能がまとまっていて、使い心地もよいと思います。

もともとJavaScriptの正規表現だけを確認できるサイトだったのですが、最近見ない間に、PHPの正規表現(PCRE)にも対応していました。

使い方は簡単で、見たら分かる部分もありますが、サイト全体英語なので、一つずつ見ていきたいと思います。

 

メニューには、サイトのヘルプや正規表現のチートシートがあります。

特にチートシートやリファレンスはよく見ることになるので、覚えておいたほうがいいですね。

見やすく作られているので、重宝します。

 

Expression

ここからよく使う項目で、Expressionの部分には、実際の正規表現を書いていきます。

基本はJavaScriptなので、「/」から「/」で囲まれた部分に正規表現を書くことになります。

「()」や「[]」などで囲まれた部分が色分けされるので、見た目にも非常に分かりやすいです。
こういう機能、VSCodeにも追加してほしいな……。

タイトルの右側に、正規表現の実行エンジンをJavaScriptかPCREのどちらかを選ぶことができます。
また、Flagsの項目では、5つのオプションを選ぶことができます。

  • g (global)
  • i (case insensitive)
  • m (multiline)
  • u (unicode)
  • y (sticky)
PHPにはないオプションです

それぞれJavaScriptで設定できるオプションなので、たとえばPHPの場合、globalフラグはないので、preg_match_allという専用の関数を選択することになります。

 

Text

この項目には、サンプルとなるテキストを入力します。
デフォルトで色々書かれていますが、こちらは消してもOKで、自分で入力することもできます。

背景が青くなっているのがマッチした箇所

怪しい文字列やテストしたい文字列を入力しましょう。

 

Tools

こちらの項目は正規表現の結果を料理するためのツールがセットされていて、以下の4つが現在利用可能です。

 

Replace

正規表現でマッチした文字列を置換するためのツールです。
このツールを使えば、簡単な文字列変形もできてしまうので、単なる正規表現のチェックツール以外の使い方もできます。

日本語でもいい感じに動いています

 

List

Listは正規表現でマッチした文字列をリスト表示します。

「$&」で表示された部分に、マッチした文字列が入るので、抽出した文字列の前後に付け加えたい文字列を入力することで、一気に追加できます。

デフォルトでは、「\n」が付与されているので、マッチした文字列毎に改行されていますが、文字列の最初に「- 」を追加すれば、マッチした文字列をマークダウンのリストにすることも簡単にできます。
これはこれで便利ですね。

 

Details

Detailsというツールは、選択した文字列が、正規表現中のどの部分にマッチしたかを詳しく知ることができます。
思っていた部分ではない部分でマッチした結果、思った結果が得られているだけということもあり得るので、こちらで確認して過程も正しく動作しているか確認してみましょう。

TEXTの項目のマッチした部分をクリックするとそこの情報が表示されます

 

Explain

これは、MySQLのEXPLAINのような機能です。括弧でグルーピングされる文字列や、どの部分までが括弧がマッチする箇所になるかが分かります。
これも非常に便利です。

 

まとめ

正規表現のチェックツール、RegExrの機能を紹介しましたが、いかがだったでしょうか?
最近のバージョンアップで、PHPへの対応や、ツールの追加で色々と正規表現の確認以上のことができるようになり、ますます便利になった気がします。

個人的にはReplaceやListツールは、エクセルでガーッとやることが多かった作業なので、もう少し賢く作業してみようと思いました。

 
以上です。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
1
読み込み中...
1 票, 平均: 1.00 / 11
1,475
X facebook はてなブックマーク pocket
[2024.6.30 CentOS support ended] CentOS server migration solution

[2024.6.30 CentOS support ended] CentOS server migration solution

[2025.6.30 Amazon Linux 2 support ended] Amazon Linux server migration solution

[2025.6.30 Amazon Linux 2 support ended] Amazon Linux server migration solution

[Osaka/Yokohama] Actively recruiting infrastructure engineers and server side engineers!

[Osaka/Yokohama] Actively recruiting infrastructure engineers and server side engineers!

The person who wrote this article

About the author

Yoichi Bandai

My main job is developing web APIs for social games, but I'm also fortunate to be able to do a lot of other work, including marketing.
Furthermore, my portrait rights in Beyond are treated as CC0 by him.