首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2013-08-09 
字符串中的双引号如何用正则表达式来表示?input typebutton valuejakcy以上为网页代码,我需要提取

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

<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

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

热点排行