1
내가 같은 문자열이 있습니다방법 이외의 문자열의 하위 문자열을 대체 할 ""
'a, b, "c,d" e, f,'
내가 구분 기호로 쉼표 문자를 사용하여 내 문자열을 분할하고 싶은
을하지만 괄호의 외부. 내 결과 객체 세트는 다음과 같은 요소를 포함한다 :
a
b
"c,d" e
f
내가 어떻게 이것을 달성 할 수 있습니까?
내가 같은 문자열이 있습니다방법 이외의 문자열의 하위 문자열을 대체 할 ""
'a, b, "c,d" e, f,'
내가 구분 기호로 쉼표 문자를 사용하여 내 문자열을 분할하고 싶은
을하지만 괄호의 외부. 내 결과 객체 세트는 다음과 같은 요소를 포함한다 :
a
b
"c,d" e
f
내가 어떻게 이것을 달성 할 수 있습니까?
s = 'a, b, "c,d" e, f,';
console.log(s.match(/("[^"]+"|[^,])+/g));
는 여분의 공백이있는, [ 'a', ' b', ' "c,d" e', ' f' ]
를 얻을 수 있지만, 당신이 그들을 트리밍 할 수 있습니다.
편집 : 누락 된 e
... 이제 수정되었습니다.
설명 :
(A|B)+
문자열의 비 인용 일부인 대신 B의 (a 인용 문자열 임) A
을 선호한다. "c,d"
과 일치하고 +
때문에 e
이 계속 일치합니다."[^"]+"
은 "
다음에 모든 비 - "
과 일치하며 그 다음에 단일 "
이옵니다.[^,]
는 작동하기 때문에, 나는 또한 대단히 감사합니다,이 답변을 받아, (모든 일치, 바로 첫번째하지 일치)
일을 어떤 비
"
/regex/g
글로벌하게 일치합니다. 그러나,이 정규식을 설명 할 수 있습니까? 다시 감사합니다. –@ LajosArpad, 설명을 추가했습니다 ... 도움이되기를 바랍니다. –
고마워, 내가 할 수 있으면 다시 upvote 것이다;) –