2012-11-03 2 views
0

예제 문자열 "a f e $s $a"에서 선행 문자 "$"없이 모든 문자를 일치 시키려합니다. 패턴 일치에서 문자를 제외하는 방법은 무엇입니까?

나는 부정적인보기 미리 사용하려고 :

"(?!\\$)[a-z]" 

을하지만 그것은 또한 $s$a 일치합니다. 내가 뭘 잘못하고 있니? 당신이 달러 기호, 아닌 모든 문자와 일치합니다 것을 의미 내다 주장, 사용자들은 (?!\\$)

답변

1

즉 부정적 예측을 사용하고 (?<!\\$)

"(?<!\\$)[a-z]" 

1

사용 부정적인 lookbehind하는 즉, 그들 모두 :

당신은 lookbehind가 필요합니다 :

"(?<!\\$)[a-z]" 
0

음수 lookbehind에 대한 올바른 구문은 이 아니고 (?<!...)이 아니며 이는 negative lookahead입니다.

사용 패턴

(?<!\\$)[a-z] 
관련 문제