JavaScript의 부정 Lookbehind에 대한 대체 정규식
JavaScript에서는 부정 Lookbehind 어설션이 직접 지원되지 않습니다. 그러나 유사한 기능을 달성할 수 있는 방법이 있습니다.
다음 정규식을 고려하십시오.
(?이 정규식은 .js로 끝나는 문자열과 일치합니다. filename.js를 제외하고. 뒤돌아보기를 지원하는 정규식 구현에서 이 표현식은 의도한 대로 작동합니다.
부정적 예측을 사용하는 대안
자바스크립트에는 뒤돌아보기가 없으므로 부정적 예측을 사용할 수 있습니다. 대신:
^(?:(?!filename\.js$).)*\.js$이 표현식은 문자열의 각 문자를 명시적으로 확인하여 부정적인 LookBehind 어설션이 있는지 확인합니다. (?!filename\.js$)와 나머지 정규식은 일치하지 않습니다. 일치하지 않으면 문자가 일치하도록 허용됩니다.
간단 버전
ECMAScript 2018 이전 JavaScript 버전의 경우 다음 단순화 버전을 사용할 수 있습니다.
^(?!.*filename\.js$).*\.js$이 표현식은 문자열이 어디에도 filename.js가 포함되어 있지 않으며 .js로 끝납니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3