正则表达式 匹配字符串

如题,要用正则表达式匹配一个字符串,格式如下:"内容"要求匹配双引号以及双引号内的文字(任意长度),遇到行首有//时不进行匹配... 如题,要用正则表达式匹配一个字符串,格式如下:
"内容"
要求匹配双引号以及双引号内的文字(任意长度),遇到行首有//时不进行匹配
展开
 我来答
貌似風輕
2018-07-10 · TA获得超过7280个赞
知道大有可为答主
回答量:1672
采纳率:94%
帮助的人:698万
展开全部

正则表达式:^(.?|[^/]{2}.*)(["“].*?["”])

这里双引号支持英文和中文的双引号

匹配这一行第一个双引号开始到第二个双引号结束的内容

若这一行以//开通则不匹配

匹配成功后取第2组的值即为所要结果

java 代码示例:

public class Test {
    public static void main(String[] args) {
        Pattern pattern = Pattern.compile("^(.?|[^/]{2}.*)([\"“].*?[\"”])", Pattern.MULTILINE);

        String str1 = "//测试“这一行不匹配”,其他字符串";
        String str2 = "测“str2这一行匹配”,其他字符串";
        String str3 = "其他字符串234“str3这一行匹配”其他字符串";

        Matcher matcher1 = pattern.matcher(str1);
        if (matcher1.find()) {  // false,匹配不到
            System.out.println(matcher1.group(2)); // nothing
        }

        Matcher matcher2 = pattern.matcher(str2);
        if (matcher2.find()) {  // true
            System.out.println(matcher2.group(2)); // str2这一行匹配
        }

        Matcher matcher3 = pattern.matcher(str3);
        if (matcher3.find()) {  // true
            System.out.println(matcher3.group(2)); // str3这一行匹配
        }
    }
}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式