이런 종류의 문자열var d = "1【ddd】sfdsaf【ccc】fdsaf【bbbb】";
[and] 사이의 문자열 배열을 얻고 싶습니다.
정규식은 어떻게 사용하나요?
괄호 2개를 포함하지 않습니다
현재는 괄호로만 가능합니다
给我你的怀抱2017-05-19 10:39:52
매우 간단합니다. 제로 너비 어설션을 사용하세요.
으아악Only zero-width positive 예측 예측 어설션 이 위에서 사용되었습니다. 실제로 JavaScript에 국한되지 않으면 #으로 작성할 수도 있습니다. 🎜🎜# 으아악
0 너비 어설션은 두 가지 범주와 네 가지 유형으로 나뉩니다.0 너비 어설션 전달
(?=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的表达式。
比如(?<!999)d+
(?<=exp)
(JavaScript는 지원되지 않음)
#🎜🎜#자신의 위치 이전에 exp와 일치할 수 있는 표현식이 exp와 일치하지 않음을 나타냅니다. (?<=999)d+
는 999로 시작하는 숫자 문자열을 나타냅니다(그러나 일치 결과에는 999가 포함되지 않음) #🎜🎜#
#🎜🎜#음수 너비가 0인 어설션#🎜🎜#
#🎜🎜#너비가 0인 부정 예측 어설션(?!exp)
#🎜🎜#즉, 자신의 위치 뒤에는 exp 표현식이 올 수 없다는 의미입니다. d+(?!999)
는 999#🎜🎜#으로 끝나지 않는 숫자 문자열과 일치함을 의미합니다.
#🎜🎜#폭이 0인 부정 되돌아보기 어설션 (?<!exp)
(자바스크립트는 지원되지 않음)
#🎜🎜#위치 앞에 exp 표현식이 올 수 없다는 의미입니다. (?<!999)d+
는 999#🎜🎜#으로 시작하지 않는 숫자 문자열과 일치한다는 의미입니다.淡淡烟草味2017-05-19 10:39:52
replace를 사용한 @hack_qtxz의 구현을 참조하세요.
으아악원래 답변은 다음과 같습니다.
그리고 @Shuke의 답변이 약간 반복적이어서 다른 방식으로 작성하고 있습니다.
으아악원래 답변은 다음과 같습니다.
으아악