У меня есть следующая строка, которая расщепляется правильно, но производит дубликат для «abc»

console.log("squadName, "abc"".split(/,s*(?=([^"]*"[^"]*")*[^"]*$)/)) 

Ожидаемый результат должен быть таким же, как

 console.log("squadName, "abc"".split(/,s*/)) 

Тем не менее, я пытаюсь игнорировать запятые в кавычках, как объясняется в регулярном выражении для соответствия запятой, которая не заключена в кавычки

Скобки в регулярном выражении JS явно создают группу захвата. Если вы добавите содержимое с ?: , Это будет группа без захвата. Если вы видите (? В общем, это, как правило, особый вид групповой ценности).

Для вашего кода вы хотели бы сделать:

 console.log("squadName, "abc"".split(/,s*(?=(?:[^"]*"[^"]*")*[^"]*$)/))