簡體   English   中英

正則表達式HTTP響應正文消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM