2013-05-28 2 views
0

부정적인 lookahead 만 포함하는 정규식으로 문장을 확인하고 싶습니다. 따라서 쓸 경우정규식 내에서 부정적인 lookaheads 만 사용

^(?!My Words)$ 

이고 테스트 문자열은 some characters입니다. 정규 표현식이 true를 반환해야하지만 기대하지 않습니다. 결과에 영향을 미치기 위해 문자를 사용하는 성냥 문자가 있어야합니까?

  • 문자열
  • 의 시작 다음 문자는 "내 말"
  • 문자열

의 끝이 더있다되지 않습니다

답변

2

이 정규식 당신이 수단을 제공 문자열에 실제로 아무것도 포함해야한다는 정규식을 확인하십시오. 더 구체적으로는 에 들어 있어야합니다. 이 경우 미리보기는 아무 것도하지 않습니다.

^(?!My Words).*$ 

.* 그냥 0 개 이상의 와일드 카드를, 그래서 기본적으로 아무것도 :

은 아마도이 같은 더 뭔가를 원한다. 이 경우 look-ahead는 문자열이 "My Words"로 시작하는 것을 방지합니다.

당신이 어디 나타나는에서 "내 말을"방지하려면

,이 같은 작업을해야합니다 :

^(?!.*My Words).*$ 
+0

가있어 .. 감사합니다 .. 정규 표현식 그냥 embrassing 있습니다 .. 너무 쉽게 아직 혼란 :) –

+1

또는 간단하게'^ (?! My Words) '일치 테스트 만하는 경우 – Anirudha

+0

@Anirudh 글쎄요. 'string.matches'를 (어떤 언어로) 사용하면 작동하지 않습니다. – Dukeling

관련 문제