我想从fieldset标记中提取name =“buddyname”后面的值5342test。 但HTML代码中有多个字段集。 下面是HTML中字符串的示例。
<fieldset style="display:none"><input type="hidden" name="buddyname" value="5342test" /></fieldset>
我在Pattern.compile中添加不同的模式有一些困难,我只想显示值5342test而不是其他结果,有人可以帮忙吗? 谢谢。
我的代码:
String stringToSearch = "5342test";
Pattern pattern = Pattern.compile("(\\value=\\})");
Matcher m = pattern.matcher(stringToSearch);
while (m.find())
{
// get the matching group
String codeGroup = m.group(1);
// print the group
System.out.format("'%s'\n", codeGroup); // should be 5342test
}
答案 0 :(得分:1)
使用此模式:
Pattern pattern = Pattern.compile("<input[^>]*?value\\s*?=\\s*?\\\"(.*?)\\\"");
答案 1 :(得分:0)
由于您希望在fieldset标记内输入值,因此可以使用此正则表达式模式。
Pattern pattern = Pattern.compile("<fieldset[^>]*>[^<]*<input.+?value\\s*=\\s*\\\"([^\\\"]*)\\\"");
Matcher matcher = pattern.matcher("<fieldset style=\"display:none\"><input type=\"hidden\" name=\"buddyname\" value=\"5342test\" /></fieldset>");
if (matcher.find())
System.out.println(matcher.group(1)); //this prints 5342test
else
System.out.println("Input html does not have a fieldset");