[英]C# Regular expression pattern what this matches for
能有人解释这个正则表达式将检查什么
Regex x = new Regex("{([^}]+)}");
它寻找一个{...}
,其中包含一些(1个或多个) non-}
。 如果成功,它将{...}
的内容放入捕获组1。
Regex x = new Regex("{([^}]+)}");
var m = x.Match("{Hello}");
string str0 = m.Groups[0].ToString(); // {Hello}
string str1 = m.Groups[1].ToString(); // Hello
组0始终是整个比赛。
var m2 = x.Match("{}");
var success = m2.Success; // false
它不是固定的,因此每个字符串可能有多个匹配项...
var m2 = x.Matches("{Hello}{}{World}");
int c = m2.Count; // 2 matches. The {} wasn't a match, {Hello} and {World} were
附带说明,如果您认为这是一个好的C#解析器的开始,那么您走的路不对:-)像{ { string str = "Hello"; } str += "x"; }
{ { string str = "Hello"; } str += "x"; }
{ { string str = "Hello"; } str += "x"; }
会混淆此正则表达式,因此类似{ string str = "}" }
表达式。 这是一个无堆栈的正则表达式。 没有花哨的花招。
如果有至少一个字符,则它匹配花括号之间的所有字符。
大括号{}
有group ()
。 该组中至少应有一个[]+
符号,而不是右括号^}
。
它匹配花括号之间的任何内容,例如{ddhhh13233dddd}
{ddd}
这将抓住大括号内的所有内容。
此MSDN文章可以对其进行更详细的说明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.