java使用正则表达式获取指定html字符串的值,例如获取input框的value值

用jsoup获取了html的字符串,用indexof效率不好而且不准确,现在想用正则表达式去获取:
字符串:

String html = "<input name=\"tt\" type=\"hidden\" value=\"123\">" +
                "<input name=\"ff\" type=\"hidden\" value=\"345\">" +
                "<input name=\"dd\" type=\"hidden\" value=\"678\">";   

如果想获取 "<input name="ff" type="hidden" value="345">"中的value值(345),改如何写java正则表达式,急求,感谢!

阅读 4.2k
2 个回答
Pattern p = Pattern.compile("name=\"ff\".*?value=\"(.*?)\"");
Matcher m = p.matcher(html);
if (m.find())
  System.out.println(m.group(1));
/(?<=value\=\").*?(?=\")/g

不知道支不支持 ?<= 以及 ?=
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题