후속 조치 this question에서 의 두 문자열을 비교할 때 JavaScript에서 쉼표와 세미콜론을 제외한 영숫자가 아닌 문자은 무시하고 대/소문자를 구분하지 않아야합니다. 그래서자바 스크립트 Regex
Times New Roman, Times, Sans-Serif
일치
Times New Roman,Times,SansSerif
누군가가 나에게 맞는 기능/접근을 시작 할 수 있나요? JS에서이 작업을 수행 할 준비가되어있는 것이 있습니까? 아니면 두 문자열에서 모든 난장판을 잘라서 비교해야합니까? 두 문자열과 그들을 비교
OP의 요구 사항과 일치하지 않습니다. 특히 RE는 세미콜론이나 숫자를 유지하지 않습니다. 또한,'/^(. +) {2} $/i'는 정말 똑똑 할 수도 있지만 "s1 == s2"보다 계산 상 비쌉니다. – gnarf
&& 세미콜론 req를 알려 주셔서 감사합니다. 테스트가 그렇게 영리하지는 않지만 단 하나의 케이스 만이 조건을 충족하므로 테스트를 하나만하면됩니다. replace는 regexp가 작동해야하는 곳이며 두 번 대신 한 번 실행합니다. 소문자로 변환하지 않으면 무언가를 저장해야합니다. – kennebec
당신은'/^(. +) \ 1 $ /'을 의미했습니다.'(. +) {2} '는 2 개의 문자로 된 모든 문자열과 일치한다는 것을 깨달았습니다. 그 변화가 추가되면서, 나는 약간의 성능 테스트를했다. 귀하의 정규 표현식은 gumbos보다 약간 성능이 떨어지며 때로는 제 경험이 없습니다. Gumbo 108, Me 131, You 132. Quadrupling 문자열 크기 Gumbo : 293, Me : 311, You : 415. Quad 문자열 + 1 문자 추가 (대/소문자 구분 없음) s2의 시작 : 너의 것이 503으로 증가하면, 우리는 똑같이 유지된다. 또한 - 당신은'var s1 = 'Times New Roman, Times, Times New Roman'에서 여전히 일치 할 것입니다; var s2 = ', 시간,';' – gnarf