이 질문을 쓰기 시작한 이래로 나는 모든 질문에 대한 답변을 찾은 것 같지만 어쨌든 다른 사람들에게 유용 할 수 있으므로 더 명확하게하기 위해 게시 할 것이라고 생각했습니다. 도움이 되길.자바 스크립트가 정규식을 사용하여 분할되지 않음
javascript 함수 split과 함께 lookahead와 함께 정규 표현식을 사용하려고했습니다. 어떤 이유로 짝을 찾았을 때 문자열을 쪼개지 않았습니다. 나는 원래 문제가 내 정규 표현식에서 미리보기를 사용하는 것이라고 생각했다.
이가 작동하지 않습니다 :
"aaaaBaaaa".split("(?=B).");
작품 : 그것은 문제가 분할 예에서 전달 된 문자열을 해석하지 하였다 나타납니다
"aaaaBaaaa".match("(?=B).");
다음은 간단한 예입니다 정규식으로. 따옴표 대신 슬래시를 사용하면 문제를 해결하는 것으로 보입니다.
"aaaaBaaaa".split(/(?=B)./);
나는 다음과 같은 어리석은 찾고 예를 들어 내 이론을 확인 :
"aaaaaaaa(?=B).aaaaaaa".split("(?=B).");
다른 사람이 경기 함수가 분할 기능을하지 않는 동안 정규 표현식을 가정 이상한 생각합니까?
필자는 match, split, replace 등 모든 것에 항상/regex/(따옴표 제외) 구문을 사용했습니다. 나는 네가 어떤 경우에 가질 필요가 없다는 것을 깨닫지 못했다. –
사실 match()는 정규 표현식 (what * else *와 일치 할 수 있습니까?)을 가정하고 split()은 문자열을 가정합니다. 왜냐하면 문자열에서의 분할은 정규 표현식에서의 분할보다 빠르기 때문일 수 있습니다.split()에 실제 정규식을 전달하는 경우에만 더 느린 정규식 분할을 수행합니다. – Tomalak