メインコンテンツまでスキップ

正規表現(Regex)

Map Local や Breakpoint などの Proxyman ツールで、ワイルドカードと正規表現(Regex)のマッチングルールを使用できます。保存する前に、サンプル URL でルールをテストできます。

1. 概要​

Proxyman はバージョン 2.3.0 以降、すべてのデバッグツールでマッチングルールを定義する際に、ワイルドカードと Regex(単語全体の一致)をサポートしています:

ルールによって、どのリクエストをツールの対象にするかを正確に定義できます。

Matching Rule 列に Regex ルール 1 件と Wildcard ルール 2 件がある Proxyman の Map Remote ルール一覧

ワイルドカードと Regex のルール

2. URL をテスト(新機能 🎉)​

Proxyman v4.8.0 以降では、ワイルドカードまたは Regex のルールをすばやくテストできます。

  • ワイルドカードまたは Regex のルールをすばやくテストし、動作を確認できます。
  • 時間を節約: URL を確認するために行き来する必要がありません。
  • ミスを減らせます。
ワイルドカード http://localhost:3000/* を 3 つの URL と照合し、Matched または Not Matched を表示している Proxyman の Test Rules ウィンドウ

ルールを URL でテスト

使い方​

  1. 任意のデバッグツール(Breakpoint、Map Local など)を開き、新しいルールを作成します。
  2. Test your Rule ボタンをクリックします。Test Rules ウィンドウが開きます。
  3. ルールと確認したい URL を追加します。
  • :white_check_mark: Matched: URL がルールに一致しています。
  • ⚠️ Not Matched: URL がルールに一致していません。ワイルドカードまたは Regex のルールを書き直す必要があるかもしれません。

3. ワイルドカード​

Proxyman は 2 種類のシンプルなワイルドカード文字をサポートしています:* と ?

ワイルドカード用途
*ワイルドカードの * は、任意の文字に 0 回以上一致します。
?ワイルドカードの ? は、任意の 1 文字に一致します。

例:

4. 正規表現(Regex)​

Proxyman は Regex(正規表現)もサポートしています。

  • 正規表現が URL 全体に一致する ようにしてください。
  • 部分一致 は、一致しないものとして扱われます。
  • スラッシュ(/)、ドット(.)などの 文字を正しくエスケープ してください。

例:

Regex一致する URL の例
https:\/\/proxyman\.io.*

https://proxyman.io
https://proxyman.io/v1/data?id=123
https://proxyman.io/pricing

^(http|https):\/\/www\.google\.com.*

http://www.google.com
http://www.google.com/user?id=proxyman
https://www.google.com

^(http|https)?:\/\/www\.google\.com\/v[0-9]?\/build\?query=proxyman

http://www.google.com/v1/build?query=proxyman
www.google.com/v2/build?query=proxyman

regex101 を使うと、正規表現が URL 全体に一致するかどうかを確認できます。

3 つの google.com URL に完全に一致する正規表現を示す regex101 のテスト
備考

Proxyman は Apple の NSRegularExpression を使用しています。サポートされている機能は、Apple Developer ドキュメントの Regex のメタ文字、演算子、フラグ で確認できます。

備考

regex101.com で正規表現を確認し、指定した URL に完全に一致することを確かめてください。

  • ルールを作成するときに Use Regex を選択します。
備考

正規表現では、? と * の意味がワイルドカードとは異なります。ワイルドカードの ? は正規表現の .、ワイルドカードの * は正規表現の .* に相当します。