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 只匹配最近的一個字符串;不重復匹配;