在java中如何用split分割复杂的字符串?

问题遇到的现象和发生背景

有一张别的数据库导出的学生信息表,每行信息格式如下:

img

数据是用逗号间隔的,但是其中有些单引号之间的数据也会有逗号,例如:'13900001234,13700005678,13800004321',这一段就需要分割成一个完整的串。

问题相关代码,请勿粘贴截图

使用split(",")进行分割,结果将电话号码分成了3个独立的字符串。

public class test01 {
    public static void main(String[] args) {
        String str = "'A1001','张三',,'01','13900001234,13700005678,13800004321','',100";
        String[] strs = str.split(",");
        for(int i = 0;i < strs.length;i++){
            System.out.println("strs[" + i + "] = " + strs[i]);
        }
    }
}

运行结果及报错内容

strs[0] = 'A1001'
strs[1] = '张三'
strs[2] =
strs[3] = '01'
strs[4] = '13900001234
strs[5] = 13700005678
strs[6] = 13800004321'
strs[7] = ''
strs[8] = 100

但是如果在excle表格里采用‘,’分隔的方法就能完整分割。这个表数据量很大,求问用什么办法才能使用java实现完整分割。

我的解答思路和尝试过的方法
我想要达到的结果


可以尝试使用java的正则来分割,通过检索这个单引号中间的内容 "['].*?[']" 来获取你想要的。
https://www.runoob.com/java/java-regular-expressions.html