<input type="button" value="jakcy">
以上为网页代码,我需要提取value的值,java正则表达式中双引号如果用转义字符,如下
Pattern p = Pattern.compile("value=\"(.*?)\"/>");
但无法匹配到正确的结果,并且发现只有要查找对象中的双引号同样也使用转义字符,这样才能查找到,如下这样就可以
<input type=\"button\" value=\"jakcy\">
但是如果是开头那样就不可以,问题是数据来源本来就那样了,这究竟要怎么办呢?
------解决方案--------------------
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Hello {
public static void main(String[] args) throws Exception {
String str = "<input type=\"button\" value=\"jakcy\">";
Pattern pattern = Pattern.compile("<input type=\"(.+?)\" value=\"(.+?)\">");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println("Value is: " + matcher.group(2));
}
}
}
输出:
Value is: jakcy
------解决方案--------------------
左括号用\\<转义掉