如下所示,提取与serviceusername
关联的值(12345678)的正则表达式是什么?该值从一个新行开始并有空格
<input type="hidden" name="serviceUsername"
value="12345678">
答案 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);
}
}