【使用場景】:下一個請求參數需要從上一個請求的響應數據中獲取
【jmeter正則表達式說明】:使用perl正則表達式(可參考:http://www.runoob.com/perl/perl-regular-expressions.html)
【語法】:
() 括起來的部分就是要提取的。
. 匹配任何字符串。
* 表示任意個字符
+ 一次或多次。
? 不要太貪婪,在找到第一個匹配項后停止。
\d 數字
\w 數字或者字母
{n} 表示n個字符
{n,m} 表示n-m個字符
\s 表示空白符
[] 表示范圍,比如:
[0-9a-zA-Z\_] 可以匹配一個數字、字符或者下划線
^ 表示行的開頭,^\d表示必須以數字開頭
$ 表示行的接受,\d$表示必須已數字接受
A|B 可以匹配A或B,如(P|p)ython可以匹配‘Python’或者‘python’
() 表示的就是要提取的分組(Group),如m=re.match(r‘^(\d{3})-(\d{3,8})$’,‘010-12345’)
【實例說明】:
1、添加正則表達式提取器,參數說明如下:
引用名稱:如文字意義一樣,在其他地方調用的時候所使用的名稱,調用方式${orderid}
睜着表達式:根據語法編寫正則表達式,括號內的為索要匹配內容(如需要匹配多個內容可用逗號隔開,如:(.*?),(.+?))
模板:$$表示你要是用那個正則表達式那個模板獲取的值 -1全部,0 隨機,1第一個,2第二個...,如果只有一個正則一般就填寫$1$,也可有多個模板,如$1$,$2$
匹配數字:-1表示全部,0隨機,1第一個,2第二個...
缺省值:這個如果沒有匹配到,給它定義的一個默認值
2、正則表達式提取的值的使用
使用方式如下${orderid}
3、推薦一個正在表達式小工具RegexTeste,下載即可使用


ps:想了解更多模板和數據數量情況,即不同情況數據獲取與處理,可查看博客,個人感覺博主寫的很不錯:https://wenku.baidu.com/view/e668f5f5b9f67c1cfad6195f312b3169a451eaf0.html
