^
據說匹配開頭的行的,但它"\n"
,"\r"
或"\r\n"
之後不匹配。不過,它匹配一個字符串的開頭。它在什麼意義上匹配一行的開頭,它與\A
有什麼不同?庫存正則表達式的錨$
被說成一條線的末匹配,但它並沒有之前"\n"
,"\r"
或"\r\n"
權相匹配。不過,它匹配一個字符串的結尾。它在什麼意義上匹配一條線的末端,它與\z
有什麼不同?\Z
,與\z
不同,在"\n"
之前匹配,如果它在字符串的末尾。在我看來,\A
和\z
是自然配對的概念,而\Z
則相當古怪。爲什麼\Z
和\z
被定義爲是,而不是相反?而且,您想在什麼時候使用\Z
?
你能舉例說明上面的例子嗎? 如果語言/標準之間的差異很重要,列出它們會很有幫助。
+1多行修飾符也適用於PHP和Python。 – ridgerunner 2011-03-27 19:12:39
在Ruby中,'m'修飾符表示大多數語言被認爲是's'修飾符(又名:DOT ALL)。引用:_「/ m使點匹配換行符,Ruby確實使用/ m,而Perl和許多其他編程語言使用/ s來表示」點匹配換行符「。」_ from:http://www.regular-expressions.info /ruby.html – 2011-03-27 19:13:45
此外,大多數類似PCRE的正則表達式實現支持內聯修飾符,如'(?m)'。這不限於.NET。 – 2011-03-27 19:17:07