【问题标题】:Jmeter Regular Expression To Extract A Number Having Varying BoundariesJmeter正则表达式提取具有不同边界的数字
【发布时间】:2016-02-24 18:16:10
【问题描述】:

我需要使用正则表达式提取器从 Jmeter 响应中提取一个数字作为关联的一部分。

场景是:

<span>Abc456ABC</span>
If I use <span>(.*?)</span>, then I will get "Abc456ABC".
If I use <span>Abc(.*?)ABC</span>, then I will get "456".

但是左右边界可以不同。输入可以是这样的: Abcdef789ABCgh

我只需要数字[在最后一种情况下是“789”]。请推荐合适的正则表达式提取器。

提前致谢..

【问题讨论】:

    标签: regex jmeter


    【解决方案1】:
    <span>.*?([0-9]+).*?</span>
    

    你可以简单地使用这个。查看演示。

    https://regex101.com/r/uE6jQ1/11

    【讨论】:

      【解决方案2】:

      您可以使用以下内容:

      <span>\D+(\d+)\D+</span>
      

      RegEX DEMO

      【讨论】:

      • 这是一位数字,而 \w+(\d\d\d+)\w+ 是三位数字。如果有更多的数字应该是什么方法?
      【解决方案3】:

      你可以使用&lt;span&gt;([\w]+)(\d+)([\w+])&lt;/span&gt;,它肯定会工作

      但是在正则表达式提取器中使用 $2$ 作为模板

      ([\w]+):它将捕获所有单词和 (\d+): 会为你处理数字

      【讨论】:

      • 不幸的是,它不起作用。 \w 包括 \d.. 所以它会贪婪地匹配所有数字而没有给\d+.. 检查我更合适的答案:)
      • hi ([\w]+)(\d+)([\w]+) 没有得到正确的值,只检索一位数字,但是 ( [\D]+)(\d+)([\D]+) 可以。但 2 美元的提及很有用。
      猜你喜欢
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多