(正則表達式)元件功能介紹:
Apply to:(適用域、適用范圍)
Main sample and sub-samples:適用范圍為:(主請求和子請求)
Main sample only:適用范圍為(主請求)
sub-samples only:適用范圍為(子請求)
分三個層次介紹:
1. jmeter正則表達式有什么作用?
2. 正則表達式在哪?
3. 正則表達式怎么用?
1. jmeter正則表達式有什么作用?
答:提取請求中返回的數據, 然后獲取的數據放入其它請求中, 作為參數使用。 常用在接口傳參中, 列如獲取token、id等
2. 正則表達式在哪?
3. 正則表達式怎么用?
首先請看下面常用表達式,可以使用提取器來練習
1.\bhi\b : 匹配只有hi的字符,\b代表的位置,第一個\b代表單詞開始的位置,第二個\b代表單詞結束的位置 2.\bhi\b.*\bthis\b : 匹配hi的字符后,中間有任意個字符后,后面是this的字符 3. . : 表示任意字符的元字符 4. *:表示任意數量的元字符 5. \d : 表示任意一個數字 6. \d{2}: 表示任意一個數字出現兩次,相當於\d\d 7. \s : 匹配任意的空白符,包括空格,換行符,制表符(tab),中文全角空格 8. \w : 匹配字母,數字,下划線或漢字 9. \d+ : 匹配一個或更多連續的數字 10. \b\w{2}\b : 匹配剛好有兩個字符的單詞 11. \b : 匹配單詞的開始和結束 12. ^ : 匹配字符串的開始 13. $ : 匹配字符串的結束, 例: ^\d{2,5}$ 表示輸入的數字必須是2位(包含)到5位(包含)之間 14. \ : 轉義字符,如果要查找元字符就需要用轉義字符來完成,比如: deerchao\.net 實際上是deerchao.net 15. 重復次數說明: *是重復0次或多次,+是重復1次或多次,?是重復零次或一次,{n} 是重復n次,{n,}是重復n次到多次,{n,m}是重復n次到m次 16. [] : 括號里的字符會被匹配,比如[ab]匹配a或b字符,[,?]匹配逗號或問號 17. [a-z0-9A-Z] : 相當於匹配\w 18. | : 匹配或規則。比如: \(0\d{2}\)[- ]?\d{8}|\(0\d{3}\)[- ]\d{7}|0\d{2}[- ]?\d{8}|0\d{3}[- ]?\d{7} 這個就是匹配電話號碼的,如:012-56236562, 0536-1234567,(0536)-1234567,01212345678 19. ():匹配分組,255.134.123.123 或 193.168.1.1 匹配表達式為: (([01]?\d\d?|25[0-5]|2[0-4]\d)\.){3}([01]?\d\d?|25[0-5]|2[0-4]\d) 20. \W : 匹配任意不是字母,數字,下划線,漢字的字符 21. \S : 匹配任意不是空白符的字符 22. \D : 匹配任意非數字的字符 23. \B : 匹配不是單詞開頭或結尾的位置 24. [^x] : 匹配除了x以外的任意字符 25. [^aeiou] : 匹配除了aeiou以外的任意字符 26. (?<word>\w+) 或(?'word'\w+) 后向引用,用於重復搜索前面某個分組已經匹配的文本,引用時就可以寫成\k<word>。實際上分組0對應整個正則表達式;組號分配過程是從左到右分配兩遍的,第一遍先掃描未命名的分組,第二遍掃描已命名的分組,所以命名分組的組號永遠大於未命名分組的組號的; 可以用(?:exp)來剝奪組號分配的參與權 27. 分組命名的幾種語法: (exp) 匹配exp表達式並將文本匹配的內容自動分配到分組里; (?<name> exp)匹配exp表達式里的文本內容到name組名下,也可以寫成(?'name'exp); (?:exp)匹配exp表達式里內容,但是不捕獲匹配的文本也不給匹配的文本分配組號;(?=exp)匹配exp前面的位置; (?<=exp)匹配exp后面的位置 ; (?!exp)匹配后面不是exp的位置 ; (?<!exp) 匹配前面不是exp的位置; (?#comment)添加注釋,對正則表達式沒有任何影響; 28. (?=exp)與(?<=exp)為零寬斷言,其中(?=exp)為零寬度正預測先行斷言,(?<=exp)為零寬度正回顧后發斷言。(?=exp)表示自exp斷言表達式出現的位置開始匹配斷言之前的內容,如\b\w+(?=er\b) 源文件為tester,則匹配結果為:test。(?<=exp)表示自exp斷言表達式內容結束后的位置開始匹配后面的內容,如(?<=test)\w+\b 源文件為test, 則匹配結果為:er。
():括起來的部分就是要提取的。 .:匹配任何字符串。 +:一次或多次。 ?:不要太貪婪,在找到第一個匹配項后停止。
一般這幾個夠用了