너비가 0인 긍정 어설션 (?<=exp)(JavaScript는 지원되지 않음)
#🎜🎜#자신의 위치 이전에 exp와 일치할 수 있는 표현식이 exp와 일치하지 않음을 나타냅니다. 예를 들어 (?<=999)d+는 999로 시작하는 숫자 문자열을 나타냅니다(그러나 일치 결과에는 999가 포함되지 않음) #🎜🎜#
#🎜🎜#음수 너비가 0인 어설션#🎜🎜#
#🎜🎜#너비가 0인 부정 예측 어설션(?!exp)
#🎜🎜#즉, 자신의 위치 뒤에는 exp 표현식이 올 수 없다는 의미입니다. 예를 들어 d+(?!999)는 999#🎜🎜#으로 끝나지 않는 숫자 문자열과 일치함을 의미합니다.
#🎜🎜#폭이 0인 부정 되돌아보기 어설션 (?<!exp)(자바스크립트는 지원되지 않음)
#🎜🎜#위치 앞에 exp 표현식이 올 수 없다는 의미입니다. 예를 들어 (?<!999)d+는 999#🎜🎜#으로 시작하지 않는 숫자 문자열과 일치한다는 의미입니다.
으아악
매우 간단합니다. 제로 너비 어설션을 사용하세요.
으아악Only zero-width positive 예측 예측 어설션 이 위에서 사용되었습니다. 실제로 JavaScript에 국한되지 않으면 #으로 작성할 수도 있습니다. 🎜🎜# 으아악
0 너비 어설션은 두 가지 범주와 네 가지 유형으로 나뉩니다.(?=exp)
자신의 위치 뒤의 식이 exp와 일치할 수 있지만 exp와는 일치하지 않음을 나타냅니다.
예를 들어
d+(?=999)
는 999로 끝나는 숫자 문자열을 나타냅니다(그러나 일치 결과에는 999가 포함되지 않음)(?=exp)
表示自身位置之后可以匹配到exp的表达式,而不匹配exp。
比如
d+(?=999)
表示以999结尾的数字串(但是匹配结果不包含999)零宽度正回顾后发断言
(?<=exp)
(JavaScript不支持)表示自身位置之前可以匹配到exp的表达式,而不匹配exp。
比如
(?<=999)d+
表示以999开头的数字串(但是匹配结果不包含999)负向零宽断言
零宽度负预测先行断言
(?!exp)
表示自身位置之后不能是exp的表达式。
比如
d+(?!999)
表示匹配不是以999结尾的数字串零宽度负回顾后发断言
(?<!exp)
(JavaScript不支持)表示自身位置之前不能是exp的表达式。
너비가 0인 긍정 어설션比如
(?<!999)d+
(?<=exp)
(JavaScript는 지원되지 않음) #🎜🎜#자신의 위치 이전에 exp와 일치할 수 있는 표현식이 exp와 일치하지 않음을 나타냅니다.예를 들어
(?<=999)d+
는 999로 시작하는 숫자 문자열을 나타냅니다(그러나 일치 결과에는 999가 포함되지 않음) #🎜🎜# #🎜🎜#음수 너비가 0인 어설션#🎜🎜# #🎜🎜#너비가 0인 부정 예측 어설션(?!exp)
#🎜🎜#즉, 자신의 위치 뒤에는 exp 표현식이 올 수 없다는 의미입니다.예를 들어
d+(?!999)
는 999#🎜🎜#으로 끝나지 않는 숫자 문자열과 일치함을 의미합니다. #🎜🎜#폭이 0인 부정 되돌아보기 어설션(?<!exp)
(자바스크립트는 지원되지 않음) #🎜🎜#위치 앞에 exp 표현식이 올 수 없다는 의미입니다.예를 들어
(?<!999)d+
는 999#🎜🎜#으로 시작하지 않는 숫자 문자열과 일치한다는 의미입니다.replace를 사용한 @hack_qtxz의 구현을 참조하세요.
으아악원래 답변은 다음과 같습니다.
그리고 @Shuke의 답변이 약간 반복적이어서 다른 방식으로 작성하고 있습니다.
으아악원래 답변은 다음과 같습니다.
으아악Quote @cipchk 코드를 완성해 주세요.
으아악으아악