使用正则表达式获取具有特定ID的输入标记的值

时间:2014-08-07 18:53:42

标签: java regex

我有以下html内容部分,我想得到值

-7326630261683062897:1196341531039871985

来自所有http内容。只有一个唯一的点是javax.faces.ViewState

我怎样才能获得价值?我必须使用什么样的正则表达式?

<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" 
value="-7326630261683062897:1196341531039871985" autocomplete="off" />

2 个答案:

答案 0 :(得分:0)

Pattern p = Pattern.compile("value=\"(-)*[\\d]+:[\\d]+\"");
Matcher m = p.matcher(html);
while(m.matches()){
    String s = m.group();
    s = s.subString(7, s.size()-2);
}

在子字符串调用之后,s应该只包含你想要的内容。

答案 1 :(得分:0)

您可以使用以下正则表达式:

id="javax\.faces\.ViewState".*value="(.*?)"

<强> Working demo

MATCH 1
1.  [84-124]    `-7326630261683062897:1196341531039871985`