前后端分离之fiddler前端开发代理 autoresponder 正则表达式 regex:(?insx) 修正符详解

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

http://127.0.0.1:8080/dlscene/order/$2

上面这段正则既可以匹配

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

也可以匹配

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

实在是非常好用

 

2018.3.22更新一个自己用的正则


 

 

在前端开发中经常会用到的fiddler,来做接口调试。

在使用autoresponder时,其中的正则表达式无疑是最便捷的方式。

其中regex:(?insx)这部分一直让我很疑惑,其中的关键字表示什么意思。

今天花时间查了一下,专门写一写。

 

REGEX: 表示启用正则表达式,(?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 只匹配最近的一个字符串;不重复匹配;

 

posted @ 2017-12-04 16:06  eastegg  阅读(2610)  评论(0编辑  收藏  举报