2011-01-03 4 views
9

가능한 중복 :
A Regex that will never be matched by anything문자열과 일치하지 않는 간단한 Perl 정규식?

나는 매개 변수로 정규식을 소요하는 스크립트가 있습니다. 기본적으로 어떤 문자열과도 일치하지 않을 것으로 정규 표현식을 설정하려고하므로 간단히 말하면

if ($str =~ $regex) 

예를 들어. 먼저 정의 된 ($ 정규식)을 확인해야합니다.

나는

qr/[^\s\S]/ 

함께했다하지만이 공간도 아닌 공간도 일부 UTF8 문자와 일치합니다 알고하지 않습니다.

답변

20
+0

MJD의 솔루션은 다른 여기 또는이 유지 될 자격이 있다는 주장 DUP 질문에 제공 무엇보다 낫다. – tchrist

+0

@tchrist : 내 견해로는 좁은 견해에서, MJD에 의한 무엇이든지 순수한 금이다. 그 남자는 펄 알케미스트 또는 뭔가입니다. – Hugmeir

+0

조명하기 : 빈 패턴'//'또는'(? :)'은 아무 것도 주장하지 않으므로 항상 일치합니다. '(?!)'는 빈 패턴에 대한 부정적인 미리보기입니다 ('!'와')'사이에 오는 것은 어설 션의 본문입니다) 따라서 결코 일치 할 수 없습니다. – hobbs

5

임의 문자와 문자가 일치하는 부정적인 검색 기능을 결합합니다 (예 :

/(?!x)x/ 

내가 던진 모든 테스트 케이스에서 작동합니다. rubular에 대한 몇 가지 검사가 있습니다.

관련 문제