正規表現を活用することで、ランダムな値を含む文字列の確認や、必要な部分だけを抜き出して変数に保存したりすることができます。
目次
正規表現の作成方法
Chat GPT等の生成AIツールを活用することで正規表現を簡単に作成できます。
こちらのプロンプトを参考にしてください。
特定の文字列を抽出する正規表現を作成してください。
- 条件
- ECMAScript2021版の文法を使用してください
- キャプチャグループは使わないでください
- 抽出したい文字列
xxx
- 全体の文字列
xxx
ユーザー登録用のURLを抜き出したい時のプロンプト例:
特定の文字列を抽出する正規表現を作成してください。
- 条件
- ECMAScript2021版の文法を使用してください
- キャプチャグループは使わないでください
- 抽出したい文字列
URL全体を抜き出してください。
注意:「https://example.com/」の後はランダムな文字列です。
(例)https://example.com/xxxx/user_id=1111
-全体の文字列
ユーザー登録ありがとうございます。
確認のため、このURLにアクセスしてください。
https://example.com/registration/user_id=9999
よく使う正規表現一覧
| 正規表現 | 使い方の例 | マッチする文字列例 | |
| . | 任意の1文字にマッチ | MagicP.d |
MagicPod MagicPOd MagicPおd |
| * | 直前の文字が0回以上続く場合にマッチ | MagicPo*d |
MagicPd MagicPooooood |
| + | 直前の文字が1回以上続く場合にマッチ | MagicPo+d |
MagicPod MagicPooooood |
| ? | 直前の文字が0回か1回の場合にマッチ | MagicPo?d |
MagicPd MagicPod |
| ^ | 行の最初にマッチ | ^Magic |
Magic MagicPod Magicポッド |
| $ | 行の最後にマッチ | Pod$ |
Pod MagicPod マジックPod |
| | | どちらかにマッチ | MagicPod|magicpod |
MagicPod magicpod |
| () | グループ化 | Magic(Pod|ポッド) |
MagicPod Magicポッド |
| [] | []内のいずれかの文字にマッチ | [MagicPod] | M,a,g,i,c,P,o,d |
| [^] | []内の文字以外にマッチ | [^MagicPod] | M,a,g,i,c,P,o,d以外 |
| {n} | 直前の文字がn回続く場合にマッチ | MagicPo{3}d | MagicPoood |
| {n,} | 直前の文字がn回以上続く場合にマッチ | MagicPo{3,}d |
MagicPoood MagicPoooood |
| {m,n} | 直前の文字がm回以上n回以下続く場合にマッチ | MagicPo{1,3}d |
MagicPod MagicPood MagicPoood |
| \d | 0から9の数字1文字にマッチ | MagicPod Ver\.\d\.0 | MagicPod Ver.1.0 |
| \s | 空白文字にマッチ | Magic\sPod | Magic Pod |
| \n | 改行文字にマッチ | Magic\nPod |
Magic Pod |
よく使う正規表現の具体例
ダウンロードしたファイル名を確認する
「ダウンロードされたことを確認」コマンドを使って、ランダムな値を含むファイル名の確認ができます。
「ダウンロードが完了するまで待つ」、「テキストファイルの内容を保存」コマンドにも正規表現が使えます。
例1: 「データ」の後が実行ごとに変わる
データ.*\.txt
- 一致するファイル名: データ1.txt, データ123.txt, データABC.txt
例2: 「データ」の後が取得した年月日
データ\d{8}\.txt
- 一致するファイル名: データ20240101.txt
例3:「の表」の前が実行ごとに変わる
.*の表\.csv
- 一致するファイル名: 2024年01月01日の表.csv, ユーザーAの表.csv
詳しくはこちら
条件に一致する部分を抜き出して変数に保存する
「正規表現に一致した部分を保存」コマンドを使って、条件に一致した部分の抽出ができます。
例1: URLのみを抜き出す
https:\/\/example.com\/.+
詳しくはこちら
例2: 6桁の認証コードのみを抜き出す
[0-9]{6}
詳しくはこちら
例3: 「円」より前を抜き出す
(.*)(?=円)
- 対象の文字列: 1,000円(税込)
- 抽出結果: 1,000
例4: 「円」より後を抜き出す
(?<=円)(.*)
- 対象の文字列: 1,000円(税込)
- 抽出結果: (税込)
例5: 「金額は」と「円」の間を抜き出す
(?<=金額は).*(?=円)
- 対象の文字列: 金額は1,000円
- 抽出結果: 1,000
例6: 「金額は」から「円」までを抜き出す
金額は.*円
- 対象の文字列: ユーザーAの金額は1,000円まで
- 抽出結果: 金額は1,000円
例7: 小数点第一位までを抜き出す
.*\..
- 対象の文字列: 12.345
- 抽出結果: 12.3
例8: 3番目を抜き出す
(?<=^.{2}).{1}
- 対象の文字列: 123456
- 抽出結果: 3
例9: 数字だけを抜き出す
[0-9]+
- 対象の文字列: IDは12345です
- 抽出結果: 12345
条件に一致する部分を置換する
「置換した結果を保存」コマンドを使って、条件に一致した部分の置換ができます。この時、条件には「正規表現」を選択してください。
例1: 0埋めの0を消去する
\b0+
対象の文字列: 0010
置換結果: 10
正規表現の確認方法
JavaScriptの正規表現の文法を使用可能です。厳密にはJavaScriptの規格であるECMAScript2021版の文法となります。
そのため、実行前に確認したい場合はJavaScriptの文法を指定できる正規表現チェッカーを使用してください。
ECMA2018以降の文法に対応していることを確認している正規表現チェッカーは以下となります。(ECMA2018とECMA2021に大きな違いはありません)
regex101(左ペインの「FLAVOR」で「ECMAScript (JavaScript)」を指定してください)
https://regex101.com/
WWWクリエイターズ・正規表現チェッカー
https://www-creators.com/tool/regex-checker