可以使用正则表达式(('|").*?[^\\](\2))来匹配成对出现的双引号或单引号中间的内容。这个正则表达式使用了分组的概念,通过\2引用第二个分组中的内容,从而保证了引号成对出现。

以下是一个示例代码:

public class Main {
    public static void main(String[] args) {
        String input = "abc 'def' ghi 'jkl' mno \"pqr\" stu \"vwx\" yz";
        String output = input.replaceAll("(('|\").*?[^\\\\](\\2))", "$1");
        System.out.println(output);
    }
}

输出结果为:def jkl pqr vwx

在这个示例中,输入字符串input包含了成对出现的双引号或单引号中间的内容。使用replaceAll方法,将正则表达式(('|").*?[^\\](\2))作为第一个参数传入,将$1作为第二个参数传入。$1表示第一个分组的内容,即成对出现的引号中间的内容。因此,replaceAll方法会将匹配的内容替换为引号中间的内容。最后,将替换后的字符串输出,即得到了提取出的内容

java 利用正则表达式提取成对出现的双引号或单引号中间的内容不是成对的不提取1那种写法replaceAll

原文地址: http://www.cveoy.top/t/topic/ib2u 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录