^
据说匹配开头的行的,但它"\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