fiddler自动响应AutoResponder之正则匹配Rule Editor

在开发测试过程中经常会用到的fiddler,来做接口调试。在使用autoresponder时,其中的正则表达式无疑是最便捷的方式。

Rule Editor两个文本框,先说第一个:

Mathes:

前缀为“EXACT:”表示完全匹配(大小写敏感)

无前缀表示基本搜索,表示搜索到字符串就匹配

前缀为“REGEX:”表示使用正则表达式匹配

前缀为“REGEX:(?insx)”表示匹配方式其中:

i表示不区分大小写;

n表示指定的唯一有效的捕获是显式命名或编号的形式;

s表示单行模式;

x表示空格说明的;

详细的说明见MSDN

举例:

regex:(?isx)^http://127.0.0.1:3000(/dlscene)?/order/(\w*)

上面这段正则既可以匹配

http://127.0.0.1::3000/dlscene/order/xx

也可以匹配

http://127.0.0.1::3000/order/xx

实在是非常好用。

(?insx) 设置正则解释的规则, 忽略大小写等。

括号中这几个应该叫做 “修正符”(php中),

修正符:i 表示不区分大小写的匹配;

修正符:n 表示指定的唯一有效的捕获是显式命名或编号的形式。也就是说如果使用了“n”修正符,想在表达式中使用括号,在下面使用变量接受是收不到的。

例如期望匹配值为:http://127.0.0.1:8020/abba/lyb/lyblist

表达式为:

regex:(?inx)^http://127.0.0.1:\d*/(\w*)/lyb/lyblist

下面如果想用变量接收括号中内容是收不到的。

http://127.0.0.1:8080/$1/lyb/lyblist

这样输出的结果是 “http://127.0.0.1:8080/$1/lyb/lyblist” ,而不是期望的“http://127.0.0.1:8080/abba/lyb/lyblist”

修正符:s 表示将字符串视为单行,换行符作为普通字符;

修正符:x 表示将模式中的空白忽略。

 

另外还有(当然这是php里面的,博主不保证在fiddler中是否有效 XD ):

 //修正符:g表示全局匹配

//修正符:m 将字符串视为多行,不管是那行都能匹配;

//修正符:A 强制从目标字符串开头匹配;

//修正符:D 如果使用$限制结尾字符,则不允许结尾有换行;

//修正符D限制其不可有换行;必需以abc结尾;

//修正符:U 只匹配最近的一个字符串;不重复匹配;

前缀为“NOT:”表示发现就不匹配

 

Action:

*开头表示的是语法

  • *redir:http://targetURL
  • *bpu
  • *bpafter
  • *delay:####
  • *drop
  • *exit

也可以直接指定本地路径或是url

  • http://targetURL
  • C:\filename

如果Mathes使用了正则,那这里还可以使用正则表达是的替换规则,注意如果使用了n属性,就不能再使用圆括号获取匹配了

举个例子:

REGEX:^http://192\.168\.9\.1\:8080/WF/pages.+/([^/]+)\.swf.*$

E:\SRT\BuilderProject\web_flowChartEditor\bin-debug\$1.swf

 

 

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕城南风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值