sombody可以解释这个正则表达式将检查的内容
Regex x = new Regex("{([^}]+)}");
答案 0 :(得分:4)
它会查找{...}
内部有一些(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 = "}" }
这样的表达式。这是一个无堆栈的正则表达式。没有花哨的技巧。
答案 1 :(得分:1)
如果至少有一个字符,它会匹配大括号之间的任何内容。
大括号()
内有小组{}
。该组应至少有一个[]+
符号,该符号不会关闭大括号^}
。
答案 2 :(得分:1)
它匹配花括号之间的任何东西
例如
{ddhhh13233dddd}
{ddd}
答案 3 :(得分:0)
这将捕获大括号内的所有内容。
这个MSDN article可以更详细地解释它。
答案 4 :(得分:0)