正则表达式中\A,\z和^,$的区别

来源:百度文库 编辑:神马文学网 时间:2024/05/21 00:53:34
正则表达式中\A,\z和^,$的区别http://topic.csdn.net/t/20060802/23/4923167.html
\A,\z和^,$的主要差别在使用了RegexOptions.Multiline多行模式上,看下面两个示例:
string   pattern   =   @"^abc";
string   str   =   "zzz\nabc";
Regex   regex   =   new   Regex(pattern,   RegexOptions.Multiline);
bool   b   =   regex.IsMatch(str);
Console.WriteLine(b);
//True
string   pattern   =   @"\Aabc";
string   str   =   "zzz\nabc";
Regex   regex   =   new   Regex(pattern,   RegexOptions.Multiline);
bool   b   =   regex.IsMatch(str);
Console.WriteLine(b);
//False
再看MSDN的叙述:
^
指定匹配必须出现在字符串的开头或行的开头。有关更多信息,请参阅正则表达式选项中的   Multiline   选项。
$
指定匹配必须出现在以下位置:字符串结尾、字符串结尾的   \n   之前或行的结尾。有关更多信息,请参阅正则表达式选项中的   Multiline   选项。
\A
指定匹配必须出现在字符串的开头(忽略   Multiline   选项)。
\Z
指定匹配必须出现在字符串的结尾或字符串结尾的   \n   之前(忽略   Multiline   选项)。
\z
指定匹配必须出现在字符串的结尾(忽略   Multiline   选项)。