내 질문을 주셔서 감사합니다.정규 표현식 대체 (모든 일치)
var re = new RegExp('o1|o2|o3|o4|o5|...','g')
문제 내가 O1는 O2의 하위 문자열 인 경우 일 것입니다으로 실행
은 내가 정규식에 일치하도록 노력하고 대안의 긴 목록을 가지고있다. 예를 들어var re = new RegExp('a|b|c|ab|abc','g')
var s = 'abc'
s.match(re)
-> [ "A", "B", "C"]
"및"abc ". RegExp의 순서를 변경하면 긴 문자열과 일치시킬 수 있지만 실제로 모든 일치 항목을 가져 오려고합니다.
가장 좋은 방법은 무엇입니까? 이것은 반드시 긴 대안 목록을 다루는 최선의 (또는 좋은 방법) 것처럼 보이지 않습니다. 나는 각 대안을 그것의 자신의 정규 표현식으로 테스트하는 것을 생각했지만, 그것은 덜 효율적으로 보였다.
모든 안내가 훌륭합니다. 감사!
그래서 당신은 모든 가능한 일치를 원하는을 이 대안들? 나는 그것이 표현으로 만 가능하다고 생각하지 않는다. –
네, 그게 내가 원하는 것입니다. 과거에는 중복되지 않는 옵션 목록을 가지고 있었고 자체 regexp에서 각 옵션을 확인하거나 indexOf를 사용하는 것보다 빠르다고 보였습니다. 대체물의 중복 가능성 때문에리스트를 반복 할 필요가 있다고 생각합니다. -/ – bobjenkins1234