> 웹 프론트엔드 > JS 튜토리얼 > JavaScript Regex에서 Lookbehind Assertion을 구현하는 방법은 무엇입니까?

JavaScript Regex에서 Lookbehind Assertion을 구현하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-09 17:16:02
원래의
1012명이 탐색했습니다.

How to Implement Lookbehind Assertions in JavaScript Regex?

Javascript Regex: Lookbehind Assertions의 대안

Javascript의 Regex 구현에는 Lookbehind Assertion 개념이 부족합니다. 이로 인해 이 기능이 필요한 정규식을 구성하는 데 어려움이 있습니다. 다행히 비슷한 결과를 얻을 수 있는 다른 방법이 있습니다.

다음 정규식을 고려하세요.

(?<!filename)\.js$
로그인 후 복사

이 정규식은 "filename.js를 제외하고 문자열 끝의 ".js"와 일치합니다. ." 그러나 Javascript의 뒤돌아보기 지원이 없으면 대안이 필요합니다.

그러한 대안 중 하나는 뒤돌아보기 어설션을 문자열의 각 문자에 대한 일련의 명시적 검사로 확장하는 것입니다.

^(?:(?!filename\.js$).)*\.js$
로그인 후 복사

이 정규식은 다음과 같이 분류됩니다.

  • ^: 문자열 시작
  • (?:...)*: 모든 문자에 대해 다음 표현식을 반복합니다
  • (?!filename.js$): 다음 문자가 "filename.js"와 일치하지 않는지 확인하기 위한 부정 예측
  • .: 마침표 일치
  • *: 필요에 따라 마침표 일치 반복
  • .js: ".js" 일치
  • $: 문자열 끝

또는 더 간단한 솔루션을 사용할 수 있습니다.

^(?!.*filename\.js$).*\.js$
로그인 후 복사

이 정규식은 기본적으로 ".js"를 일치시키기 전에 전체 문자열에 "filename.js"가 포함되어 있지 않은지 확인합니다.

이러한 대안을 활용하여 Javascript의 뒤돌아보기 어설션과 유사한 정규식 기능을 구현할 수 있습니다.

위 내용은 JavaScript Regex에서 Lookbehind Assertion을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿