java - 获取元素属性值

标签 java regex

我正在尝试使用正则表达式提取表单元素值:

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"/>

但是,我的匹配器没有产生任何结果。我错过了什么?

最佳答案

你不应该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

关于java - 获取元素属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23878708/

相关文章:

php - 使用PHP数组函数导入文本数据的思路

c# - C# 中匹配简单单词的正则表达式?

python - 使用正则表达式去除多行 python 文档字符串

regex - 使用 awk sed 或 grep 从网页源解析 URL

尝试运行 clojure Web 应用程序时出现 java.lang.IllegalArgumentException

java - 在 AppEngine 上使用谷歌云端点

java - 在java中将byte[]数组从MySQL转换为带有破折号的十六进制?

regex - notepad++ 关键字仅在行首时

java - 如何在 Web 浏览器上部署 swing 应用程序?

java - 使用 CDI 转换器进行 JSF selectOneMenu 实体转换失败