为给定标记提取新换行符的值

时间:2016-09-26 12:11:42

标签: regex jmeter

如下所示,提取与serviceusername关联的值(12345678)的正则表达式是什么?该值从一个新行开始并有空格

<input type="hidden" name="serviceUsername"
            value="12345678">

2 个答案:

答案 0 :(得分:1)

如果您有HTML输入,则使用XPath提取器会更安全。

添加它并使用以下XPath提取value元素的input属性值,其中name属性等于serviceUsername

//input[@name='serviceUsername']/@value

说到正则表达式,默认情况下.与换行符或换行符号不匹配。因此,您必须在模式的开头添加(?s),或使用[\s\S]解决方法。另请注意,否定的字符类与换行符匹配,因此"([^"]+)"匹配",然后捕获除"(包括换行符)之外的任何字符,一次或多次出现,直至下一个{{1 }}

答案 1 :(得分:0)

你可以使用java模式匹配器来获得简单的解决方案

    String subjectString = "any string you want to search" ;
    String ResultString="";
    Pattern regex = Pattern.compile("name=\"serviceUsername\" value=\"(.+?)\"", Pattern.DOTALL);
    Matcher regexMatcher = regex.matcher(subjectString);
    if (regexMatcher.find()) {
        ResultString = regexMatcher.group(1);
    } 

  }