正则表达式 string pattern = @"<a[^>]+>";
按我的理解,应该匹配的是尖括号内,以a开头的,中间不能包含">"的字符串。但实际结果却能匹配“<abc>>>d”,我的理解错再哪呢? 其中的+号重复的是哪部分的表达式?
按我的理解,应该匹配的是尖括号内,以a开头的,中间不能包含">"的字符串。但实际结果却能匹配“<abc>>>d”,我的理解错再哪呢? 其中的+号重复的是哪部分的表达式?
调试欢乐多
应该是:string pattern = @"^<a[^>]+>$";
你确定你说的正确?void Main()
{
Console.WriteLine(Regex.Match("<abc>>>d","<a[^>]+>").Value);
//<abc>
}
//我觉得你指的可能是 贪婪匹配和懒惰匹配的区别:
void Main()
{
Console.WriteLine(Regex.Match("<abc>>>d","<a.+>").Value);
//<abc>>>
Console.WriteLine(Regex.Match("<abc>>>d","<a.+?>").Value);
//<abc>
}
你用的应该是ismatch判断,只要字符串中包含匹配的一部分内容都会是true
+号匹配的是a[^>],还只是匹配[^>]?