\A,\z和^,$的主要差別在使用了RegexOptions.Multiline多行模式上,看下面兩個(gè)示例:
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的敘述:
^
指定匹配必須出現(xiàn)在字符串的開(kāi)頭或行的開(kāi)頭。有關(guān)更多信息,請(qǐng)參閱正則表達(dá)式選項(xiàng)中的 Multiline 選項(xiàng)。
$
指定匹配必須出現(xiàn)在以下位置:字符串結(jié)尾、字符串結(jié)尾的 \n 之前或行的結(jié)尾。有關(guān)更多信息,請(qǐng)參閱正則表達(dá)式選項(xiàng)中的 Multiline 選項(xiàng)。
\A
指定匹配必須出現(xiàn)在字符串的開(kāi)頭(忽略 Multiline 選項(xiàng))。
\Z
指定匹配必須出現(xiàn)在字符串的結(jié)尾或字符串結(jié)尾的 \n 之前(忽略 Multiline 選項(xiàng))。
\z
指定匹配必須出現(xiàn)在字符串的結(jié)尾(忽略 Multiline 選項(xiàng))。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。