繁体   English   中英

C#正则表达式模式这与之匹配

[英]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文章可以对其进行更详细的说明。

这将抓住大括号内的所有内容。

我发现此工具是解释Regex的最佳工具

http://tinyurl.com/lz3d458

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM