1、Java处理 import java.util.regex.Matcher; import java.util.regex.Pattern; public class first { public static void main(String[] args) { String content= "abc123,love123,520"; String regex = "(((\"[^\"]*\")|[^\",])*)(,|$)"; Matcher matcher = Pattern.compile(regex).matcher(content); while (matcher.find()) { System.out.println(matcher.group(1)); } } }
2、odpssql处理
SELECT SPLIT("abc123,love123,520" , ",(?=([^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)")[n];
匹配后面有偶数个双引号""的逗号,这样可以区分逗号是不是在双引号之中。
split函数切割成数组,通过下表取值