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日期的处理,求助
- java面试题求救
- 新手问题: JAVA对声音处理的问题.....请各位大虾救
- 想从键盘输入一个数值,来控制某个double型的数据小数点后保留的位数,应该怎么写?
- 高分求孙卫琴的<<Tomcat与java web开发技术详解>>这本书的光盘代码
- **!有关JPanel的事件监听器问题!**
- 那里有Java 2D的中文图书
- FileInputStream fin = new FileInputStrem(System.in)
- Thinking in Java第二版与第一版相比,好在哪里?
- 请指教!!!!!!!!!!!
- 怎样读取sql语句中的占位符?
- Java IO 中 ,0xFF read出来,在write回去后变成3F,why?
可能group(1)匹配到了空串。另外,括号里面建议你这么写:([^\"]*)
<input\\s*.+?\\s*id=\"title\"\\s*value=\"(.+?)\"\\s*/>改写成这样试试。。
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中到底是什麽再作針對性修改
String html = "<input id=\"title\" value=\"a\"/><input id=\"title\" value=\"b\"/>";
Matcher m = Pattern.compile("<input\\s+.+?/>").matcher(html);
while(m.find()){
System.out.println(m.group());
}
}