Jmeter:
我有一个JSON,我必须从中获取" ci"的值。
我使用以下RegEx:ci:\ s *(。*?)\"并获得以下结果RegEx测试仪: 比赛数:1 匹配1 [0] = ci:434547" 匹配1 = 434547
问题是匹配1 [0]有空格,因此在运行负载测试时它会说明 :服务器错误 - 无法将JSON转换为对象
需要帮助才能纠正此RegEx。
答案 0 :(得分:0)
基本上,您的RegEx很好。这也是我寻找它的方式,第一组(匹配[1])会给你434613
,这是你正在寻找的值。由于我不知道你正在使用的这个软件,我不知道为什么只使用那个匹配不起作用。
这是一个解决这个问题的想法:如果值始终是字符串中唯一的数值,则可以将RegEx简化为:
\d+
这将为您提供至少1位数的数值。如果字符串中有其他数字值,但这些数值有不同的长度,请尝试:
\d{m,n} --> between m and n digits long
\d{n,} --> at least n digits long
\d{0,n} --> not more than n digits long
这不像原始RegEx那样安全/可靠(因为它假定某些条件),但它可能适用于您的情况,因为您不必查找组,只需使用整个匹配的文本。告诉我它是否有帮助!