读书人

字符串中的双引号怎么用正则表达式来表

发布时间: 2013-08-09 15:16:24 作者: rapoo

字符串中的双引号如何用正则表达式来表示?

<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

[解决办法]
左括号用\\<转义掉

读书人网 >Java Web开发

热点推荐