2016-08-12 6 views
-1
Edit the Expression & Text to see matches. 

Expression sample 

두 줄이있는 텍스트 문서입니다. 나는 "일치"단어를 따르지 않도록 "표현"단어를 검색하고 싶습니다. 따라서 출력은 "Expression sample"행과 일치합니다. 이것을 위해 정규식을 생성하는 것을 도와주세요. 나는 다음 정규식을 사용하여 시도했지만이 작동하지 않습니다. 많은 감사부정적 미리보기가있는 정규식이 작동하지 않습니다.

^(.*)Expression(.*)(?!matches)$ 
+1

'/ 식 사용 (?!. *)/ – anubhava

+1

감사합니다. 작동 중입니다. –

+1

줄에 '표현식'단어가 있지만 '일치'가없는 줄을 찾으려는 것처럼 보입니다. '/^(?!. * \ bmatches \ b). * \ bExpression \ b. */gm'을 시도해보십시오. –

답변

1
/Expression(?!.*matches)/ 

대답입니다. 도와 주셔서 감사합니다 anubhava. 더 이상 있기 때문에 따라서,

Edit the Expression & Text to see matches. 
^(.* )Expression(.*     )(?!matches)$ 

당신이 볼 수 있듯이, 두 번째 .*가이 문자열의 나머지 부분을 소비합니다 (내다가 일치하지 않습니다 의미 : 당신 같은 정규식에서

2

은 다음과 일치하지 않습니다 문자) 및 end-of-line 앵커가 일치합니다.

matches 어디 Expression 후 대신

Expression(?!.*matches) 

를 사용할 필요가 나타나지 않을 수 있습니다 요구 사항을 성문화합니다. 선택적으로 당신이 필사적으로 필요하다면 (.*)으로 사전 및 사후 수정. 이 정규식은 본질적으로 Expression이 어딘가에과 일치해야하며 .*matchesExpression 일치 후에이 일치하지 않아야 함을 의미합니다. 그 서브 표현식은 .*을 포함하기 때문에 그 이후 어느 곳에서나 matches을 매치 해보고, 한번만 일치하면 미리보기가 실패합니다.

관련 문제