C#正则表达式模式匹配的内容

时间:2013-08-08 08:03:09

标签: c# regex

sombody可以解释这个正则表达式将检查的内容

Regex x = new Regex("{([^}]+)}");

5 个答案:

答案 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)

这将捕获大括号内的所有内容。

我觉得这个工具最适合解释Regex的

http://tinyurl.com/lz3d458

enter image description here