Negative Lookbehind에 해당하는 JavaScript
특정 문자 집합으로 시작하지 않는 문자열과 일치하는 Negative Lookbehind는 직접 지원되지 않습니다. 자바스크립트 정규식. 그러나 유사한 결과를 얻기 위한 대체 접근 방식이 있습니다.
긍정적 예측 및 문자열 반전
JavaScript는 긍정적 예측(?=)을 지원하므로 한 가지 방법은 다음과 같습니다.
예:
const reverse = s => s.split('').reverse().join(''); const regexp = /m(?!([abcdefg]))/; test(['jim', 'm', 'jam'], regexp); function test(strings, regexp) { strings.map(reverse).forEach((s, i) => { match = regexp.test(s); console.log(strings[i], match, 'Token: ', match ? reverse(regexp.exec(s)[0]) : 'Ø'); }); }
결과:
jim true Token: m m true Token: m jam false Token: Ø
Lookbehind Assertions 지원(이후 2018)
2018년에는 부정적인 LookBehind를 포함한 LookBehind 어설션이 ECMAScript 언어 사양의 일부가 되었습니다. 다음과 같이 사용할 수 있습니다.
부정적 뒤돌아보기:
(?<!...)
긍정적 뒤돌아보기:
(?<=...)
예:
"max-height"와 일치하지만 일치하지 않음 "line-height":
regexp = /thgieh(?!(-enil))/; test(['max-height', 'line-height'], regexp);
결과:
max-height true Token: height line-height false Token: Ø
위 내용은 JavaScript 정규 표현식에서 부정적 Lookbehind를 어떻게 시뮬레이션할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!