이것이 버그인지 또는 단순히 자바 스크립트 정규식 메서드의 동작을 이해하지 못하는지 확실하지 않습니다.javascript regex match/exec issue
문제는 정규 표현식 없이는 match/exec 메서드로 작업 할 때/(something | something) 형식의 regexp를 얻을 수 없다는 것입니다./(somereg1 | somereg2)/g
전역 식별자가 있으면 메소드는 찾은 모든 인스턴스를 올바르게 반환합니다. 그러나 거기에 없으면 두 방법 모두 올바르게 첫 번째 일치 항목 만 반환합니다. 문제는 두 번 돌려주는 것입니다. 문장의 예를 들면 : http://jsfiddle.net/myf43ay1/
코드는 상당히 자기 설명해야한다 :
var str = "Here is somereg1 and somereg2" //I would expect
str.match(/(somereg1|somereg2)/)
는 이 대신은 "somereg1, somereg1"
확인이 jsfiddle를 반환 "somereg1"를 반환합니다. 첫 번째 예는 W3 학교에서 취해진 것입니다.
질문 사항이 있으면 알려 주시기 바랍니다.
\ Peter
첫 번째 요소는 정규식에 의해 완전 일치. 두 번째 요소는 캡쳐 된 모든 그룹을 얻습니다. – anubhava