[英]Regex HTTP Response Body Message
我用jmeter進行REST測試。 我發了一個HTTP請求,這是響應數據:
{"id":11,"name":"value","password":null,"status":"ACTIVE","lastIp":"0.0.0.0","lastLogin":null,"addedDate":1429090984000}
我只需要ID(即11)
{"id":11,....
我使用下面的REGEX:
([0-9].+?)
它工作得很好,但如果我的ID超過2位數就會出現問題。 我需要將REGEX更改為:
([0-9][0-9].+?)
我的問題是否有任何動態REGEX。 感謝您的關注。
此致,Stefio
如果您想要{"id":
和之間的任何整數,
使用以下正則表達式:
{"id":(\d+),
然而,處理JSON數據的更聰明的方法可能是JSON Path Extractor (可通過JMeter插件獲得 ),未來這個選項可以更容易地用於復雜的JSON。
請參閱在JMeter指南中使用XPath Extractor (向下滾動到“解析JSON”)以了解有關語法和用例的更多信息。
我建議使用以下正則表達式:
"id":([^,]*),
這將首先找到“id”:然后在找到逗號之前查找不是逗號的任何內容。 請注意,字符分組僅在ID的值附近。
這適用於任何長度ID。
編輯:相同的概念適用於幾乎所有JSON數據,例如引用值的位置:
"key":"([^"]*)"
只要引用了值且不包含引號,該正則表達式將從給定鍵中提取值。 它首先找到“key”:然后在下一個引用之前匹配任何非引用的內容。
你可以像這樣使用量詞:
([0-9]{2,}.+?)
它將捕獲2個或更多數字,然后是任何符號,1次或更多次。 如果您想在數字后面不允許其他字符,請使用*
而不是+
:
([0-9]{2,}.*?)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.