- Java code
Matcher m = Pattern.compile("<inputname=\"title\"type=\"hidden\"id=\"title\"value=\"(.*?)\"/>").matcher(html); if(m.find()){ temp.setTitle(m.group(1)); }
现在不知道为什么这个m.group(1)始终取不出来,而打断点看的时候m.group(0)是有值的
------解决方案--------------------
- Java code
<input\\s*.+?\\s*id=\"title\"\\s*value=\"(.+?)\"\\s*/>
------解决方案--------------------
把你的html贴出来看看
------解决方案--------------------
- Java code
public static void main(String[] args) { String str = "<input name=\"title\" type=\"hidden\" id=\"title\" value=\"test\" />"; Pattern pattern = Pattern .compile("<input\\s*name=\"\\w*\"\\s*type=\"\\w*\"\\s*id=\"\\w*\"\\s*value=\".*\"\\s*/>"); Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group()); } }
------解决方案--------------------
和你html內容有關,如果你把模式串作為匹配對象,同時替換(.*?)部份為abc或者a\"bc
還是可以找到的
所以查看一下這部份在html中到底是什麽再作針對性修改