^
이 줄의 시작 일치라고 앵커,하지만 바로"\n"
,"\r"
또는"\r\n"
후 일치하지 않습니다. 그것은 문자열의 시작과 일치합니다. 어떤 의미에서 라인의 시작과 일치합니까?\A
과 다른 점은 무엇입니까?재고
는 라인의 끝과 일치라고하지만, 바로$
"\n"
,"\r"
또는"\r\n"
사전이 일치하지 않습니다. 그것은 문자열의 끝과 일치합니다. 어떤 의미에서 라인의 끝과 일치합니까?\z
과 어떻게 다른가요?\Z
은\z
과 달리 문자열 끝 부분 인"\n"
과 일치합니다.\A
과\z
은 자연스럽게 쌍으로 된 개념이며\Z
은 다소 이상한 것 같습니다.\Z
과\z
이있는 그대로 정의 된 이유는 무엇입니까? 언제\Z
을 사용 하시겠습니까?
위의 예를 사용하여 설명 할 수 있습니까? 언어/표준 간의 차이가 중요한 경우이를 나열하는 것이 도움이됩니다.
+1 다중 행 수정자는 PHP와 Python에서도 이와 같이 작동합니다. – ridgerunner
루비에서'm' 수식어는 대부분의 언어가's' 수식어 (일명 : DOT ALL)를 고려하는 것을 나타냅니다. 인용문 : _ "/ m은 점 매칭 뉴 라인을 만듭니다. 루비는 실제로/m을 사용하지만, Perl 및 다른 많은 프로그래밍 언어는"점 매칭 개행 "에/s를 사용합니다."_ from : http://www.regular-expressions.info /ruby.html –
또한 대부분의 PCRE 계열 정규 표현식은'(? m)'과 같은 인라인 수정자를 지원합니다. 이것은 .NET에만 국한되지 않습니다. –