正则表达式 匹配字符串
如题,要用正则表达式匹配一个字符串,格式如下:"内容"要求匹配双引号以及双引号内的文字(任意长度),遇到行首有//时不进行匹配...
如题,要用正则表达式匹配一个字符串,格式如下:
"内容"
要求匹配双引号以及双引号内的文字(任意长度),遇到行首有//时不进行匹配 展开
"内容"
要求匹配双引号以及双引号内的文字(任意长度),遇到行首有//时不进行匹配 展开
1个回答
展开全部
正则表达式:^(.?|[^/]{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这一行匹配
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询