获取元素属性值

时间:2014-05-26 22:56:40

标签: java regex

我正在尝试使用regexp提取表单元素值:

Pattern pattern = Pattern.compile("name=\"(token)\"[^>]*value=\"([^\"]+)\"", 2);

Matcher matcher = pattern.matcher(result); 

if(matcher.find())
{
    String value = matcher.group(2);
}
<input type="hidden" name="token" value="YToxOntzOjU"/>

然而,我的matcher没有结果。我错过了什么?

1 个答案:

答案 0 :(得分:1)

你不应该parse HTML using regular expressions,但你的书面代码似乎工作正常吗?

String result  = "<input type=\"hidden\" name=\"token\" value=\"YToxOntzOjU\"/>";

Pattern pattern = Pattern.compile("name=\"(token)\"[^>]*value=\"([^\"]+)\"", 2);
Matcher matcher = pattern.matcher(result); 

if (matcher.find()) {
   String value = matcher.group(2);
   System.out.println(value); //=> "YToxOntzOjU"
}

Working Demo