JavaScript에서 부정 Lookbehind 기능 달성
부정 Lookbehind 어설션을 사용하면 특정 문자 집합으로 시작하지 않는 문자열을 일치시킬 수 있습니다. JavaScript에는 부정적인 Lookbehind에 대한 명시적인 지원이 부족함에도 불구하고 실행 가능한 대안이 있습니다.
2018년부터 Lookbehind Assertions가 ECMAScript 사양에 통합되었습니다.
// Positive lookbehind: (?<=...) // Negative lookbehind: (?<!...)
Pre -2018 접근 방식
또는 부정적 후방 조사를 사용할 수 없는 경우 다음 접근 방식을 고려하세요.
예:
const reverse = (string) => { return string.split('').reverse().join(''); }; const test = (inputStrings, reversedRegex) => { inputStrings.map(reverse).forEach((reversedString, idx) => { const match = reversedRegex.test(reversedString); console.log( inputStrings[idx], match, 'token:', match ? reverse(reversedRegex.exec(reversedString)[0]) : 'Ø' ); }); };
예 1 : "jim" 또는 "m"의 "m"과 일치하지만 일치하지 않는 경우 "jam":
test(['jim', 'm', 'jam'], /m(?!([abcdefg]))/);
출력:
jim true token: m m true token: m jam false token: Ø
예 2: "max-height"와 일치하지만 일치하지 않음 "line-height":
test(['max-height', 'line-height'], /thgieh(?!(-enil))/);
출력:
max-height true token: height line-height false token: Ø
위 내용은 JavaScript에서 부정적인 Lookbehind 어설션을 어떻게 시뮬레이션할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!