Jmeter 正規表示式提取括號中的文字內容

2022-09-21 19:57:10 字數 2466 閱讀 9877

jmeter裡介面請求結束後,如果後續介面請求想要獲取本次返回結果的內容,就需要正規表示式提取器來獲取引數,當然也可以用json path extractor來提取(這個簡單一些)。不過jmeter裡很多地方的約束條件和斷言都是需要正規表示式來匹配的,所以大家還是要學習一下正規表示式的語法,以便更好更效率的完成測試內容。下面簡單介紹一下常用的語法,這次先寫一半,下次再補另一半。正規表示式的內容還是很多的,我也只是學了其中的一些皮毛,通用的東西,後期再慢慢深入吧,而且要學以致用,學的東西一定要親自實際體驗一下才會記得牢,好了,言歸正轉。

下面列舉元字元語法:

1.\bhi\b : 匹配只有hi的字元,\b代表的位置,第乙個\b代表單詞開始的位置,第二個\b代表單詞結束的位置

2.\bhi\b.*\bthis\b : 匹配hi的字元後,中間有任意個字元後,後面是this的字元

3. . : 表示任意字元的元字元

4. *:表示任意數量的元字元

5. \d : 表示任意乙個數字

6. \d: 表示任意乙個數字出現兩次,相當於\d\d

7. \s : 匹配任意的空白符,包括空格,換行符,製表符(tab),中文全形空格

8. \w : 匹配字母,數字,下劃線或漢字

10. \b\w\b : 匹配剛好有兩個字元的單詞

11. \b : 匹配單詞的開始和結束

12. ^ : 匹配字串的開始

13. $ : 匹配字串的結束, 例: ^\d$ 表示輸入的數字必須是2位(包含)到5位(包含)之間

14. \ : 轉義字元,如果要查詢元字元就需要用轉義字元來完成,比如: deerchao\.net 實際上是deerchao.net

15. 重複次數說明: *是重複0次或多次,+是重複1次或多次,?是重複零次或一次, 是重複n次,是重複n次到多次,是重複n次到m次

16. : 括號裡的字元會被匹配,比如[ab]匹配a或b字元,[,?]匹配逗號或問號

17. [a-z0-9a-z] : 相當於匹配\w

18. | : 匹配或規則。比如: \(0\d\)[- ]?\d|\(0\d\)[- ]\d|0\d[- ]?\d|0\d[- ]?\d 這個就是匹配**號碼的,如: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)\.)([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. (?\w+) 或(?'word'\w+) 後向引用,用於重複搜尋前面某個分組已經匹配的文字,引用時就可以寫成\k。實際上分組0對應整個正規表示式;組號分配過程是從左到右分配兩遍的,第一遍先掃瞄未命名的分組,第二遍掃瞄已命名的分組,所以命名分組的組號永遠大於未命名分組的組號的; 可以用(?:exp)來剝奪組號分配的參與權

27. 分組命名的幾種語法: (exp) 匹配exp表示式並將文字匹配的內容自動分配到分組裡;

(?exp)匹配exp表示式裡的文字內容到name組名下,也可以寫成(?'name'exp); (?:exp)匹配exp表示式裡內容,但是不捕獲匹配的文字也不給匹配的文字分配組號;(?=exp)匹配exp前面的位置; (?<=exp)匹配exp後面的位置 ; (?!exp)匹配後面不是exp的位置 ; (?1、提取的文字如下:

需求:提取括號中的文字,但是不要提取兩邊的括號

知識點: ?=、?<=、?!、?方法1:

(?<=\()(.+?)(?=\))
結果:jmeter提取時報錯,發現不支援<

方法2:

結果:匹配了兩個,雖然可以用下標來取,但是著實不是最佳的方法。

方法3:

\b\w+(?=\))\b
利用(?=exp)為零寬度正**先行斷言+定位符\b+普通字元\w來檢索

結果:

正則很強大,也很靈活,方法千百個,需要靈活使用,並且日常中多練練。有興趣加入我們一起學習。

jmeter 正規表示式提取

我們在做壓測時,經常會碰到需要上個介面的結果作為引數傳遞到下乙個介面,此時需要用到正規表示式提取功能。1 新增jmeter正規表示式提取器 在具體的request下新增jmeter正規表示式提取器 jmeter正規表示式在 後置處理器 下面 例1如下 引用名稱 tokenid 自己定義 模板 1 匹...

jmeter正規表示式提取器

從 response 中獲得資料操作步驟 1 可以使用 jmeter提供的 後置處理器 post processers 正規表示式提取器 regular expression extractor 從返回的結果中取得資料,在確定 gettoken 請求的返回值是類似下列的 xml 之後,tk11194...

jmeter正規表示式提取器

1.新增正規表示式提取器 在具體的響應鏈結右鍵 新增 後置處理器 正規表示式提取器 2.檢視登入介面的request 3.為了獲取到上圖中圈起來的這個值,要配置正規表示式提取器 4.正規表示式提取器的引數介紹 引用名稱 其他地方引用提取值的變數名稱,如填寫的是 token,具體的引用方式是 正規表示...