跳到主要内容

正则表达式(Regex)

在 Proxyman 的 Map Local、Breakpoint 等工具中使用通配符和正则表达式匹配规则,并在保存前用示例 URL 测试你的规则。

1. 这是什么?​

从 2.3.0 版本开始,在为所有调试工具定义匹配规则时,Proxyman 支持 Wildcard(通配符)和 Regex(正则表达式,整词匹配):

它可以帮助你精确定义哪些请求会触发该工具。

Proxyman Map Remote 规则列表,“Matching Rule”列中包含一条 Regex 规则和两条 Wildcard 规则

通配符和正则表达式规则

2. 测试你的 URL(新功能 🎉)​

从 Proxyman v4.8.0 开始,你可以快速测试规则(通配符或正则表达式)。

  • 快速测试并验证你的通配符或正则表达式规则。
  • 节省时间:无需来回切换即可检查 URL。
  • 减少出错。
Proxyman Test Rules 窗口,使用通配符 http://localhost:3000/* 检查三个 URL,结果为 Matched 或 Not Matched

使用你的 URL 测试规则

如何使用?​

  1. 打开任意调试工具(Breakpoint、Map Local 等),并创建新规则。
  2. 点击 Test your Rule 按钮,将打开 Test Rules 窗口。
  3. 添加你的规则以及要检查的 URL。
  • :white_check_mark: Matched:你的 URL 与规则匹配。
  • ⚠️ Not Matched:你的 URL 与规则不匹配。你可能需要重写通配符或正则表达式规则。

3. 通配符​

Proxyman 支持两种简单的通配符:* 和 ?

通配符说明
*通配符中的星号匹配零个或多个任意字符。
?问号匹配恰好一个字符。

例如:

4. 正则表达式(Regex)​

Proxyman 还支持正则表达式。

  • 请确保你的正则表达式匹配整个 URL。
  • 部分匹配视为不匹配。
  • 请确保正确转义字符,例如斜杠(/)、点号(.)等。

例如:

正则表达式匹配的 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。

regex101 测试页面,正则表达式完整匹配三个 google.com URL
信息

Proxyman 使用 Apple 的 NSRegularExpression。请在 Apple 开发者文档中查看 Regex 元字符、运算符与标志,了解支持哪些元字符、运算符和标志。

信息

请在 regex101.com 上检查你的正则表达式,并确保它能完整匹配给定的 URL。

  • 创建规则时,请选择 Use Regex。
信息

在正则表达式中,? 和 * 的含义与通配符不同。通配符 ? 对应正则表达式的 .,通配符 * 对应正则表达式的 .*。