2011-10-28 3 views

답변

11

일반적으로 아무런 의미가 없으며 물음표가 유효한 문자 다음에 오지 않는 경우 오류가 발생할 수도 있습니다. 그러나 효과가있는 특정 문자가 있습니다. 즉이 문자가 modifier으로도 사용되는 경우입니다.

regular-expressions.info이 특정 구문에 대해 말한다 :

현대 정규식 맛을 당신이 정규 표현식의 부분에 수정을 적용 할 수 있습니다. 정규 표현식의 중간에 수식어 (?ism)를 삽입하면 수식어는 수식어 오른쪽의 정규식 부분에만 적용됩니다. 마이너스 기호를 사용하여 모드를 끌 수 있습니다. 마이너스 기호 뒤에 오는 모든 모드는 꺼집니다. 예 : (?i-sm)는 대소 문자를 구분하지 않으며 단일 회선 모드와 다중 회선 모드를 해제합니다.

모든 정규 표현식이이를 지원하지는 않습니다. JavaScript와 Python은 모든 모드 수정자를 전체 정규 표현식에 적용합니다. 모드 수식자가 전체 정규 표현식에 적용될 때 옵션을 끄는 것은 의미가 없으므로 (?-ismx) 구문을 지원하지 않습니다. 모든 옵션은 기본적으로 해제되어 있습니다.

사용중인 정규식 맛을 처리 모드 수정 자로 어떻게 빨리 테스트 할 수 있습니다. 정규식 (?i)te(?-i)sttestTEst과 일치해야하지만 teST 또는 TEST은 일치하지 않아야합니다.

?i은 이러한 문자 다음의 모든 문자가 대소 문자를 구분하지 않아야 함을 의미합니다.

또한 텍스트에서 알 수 있듯이 모든 정규 표현식이이 구문을 지원하지는 않습니다.

+0

대단원! 알았다. BTW, 멋진 웹 사이트입니다. –