C# 检查自定义格式的“我的字符串”是否有效?括号的数目

C# 检查自定义格式的“我的字符串”是否有效?括号的数目,c#,regex,C#,Regex,我需要一个正则表达式来检查此格式: [一些数字][一些数字][一些数字][一些数字][一些数字][一些数字][一些数字] “一些数字”是指每个数字(0或1或2或3或……)、2个数字、3个数字或更多 但重要的是,每一个开放的括号必须在另一个开放的括号之前关闭 事实上,我想检查一下格式,并得到[]的编号。 我尝试使用此代码获取[]的编号: Regex.Matches(输入“[]”)。计数 但它不起作用 感谢您的帮助这是您正在寻找的正则表达式: ^(\[\d+\])+#$ 看 计数的示例代码 var

我需要一个正则表达式来检查此格式:

[一些数字][一些数字][一些数字][一些数字][一些数字][一些数字][一些数字]

“一些数字”是指每个数字(0或1或2或3或……)、2个数字、3个数字或更多

但重要的是,每一个开放的括号必须在另一个开放的括号之前关闭

事实上,我想检查一下格式,并得到[]的编号。 我尝试使用此代码获取[]的编号:

Regex.Matches(输入“[]”)。计数

但它不起作用


感谢您的帮助

这是您正在寻找的正则表达式:

^(\[\d+\])+#$

计数的示例代码

var myRegex = new Regex(@"^(\[\d+\])+#$");
string bracketCount = myRegex.Match(yourString).Groups[1].Count;
解释

  • ^
    锚定声明我们位于字符串的开头
  • 启动捕获组1
  • \[
    打开一个括号
  • \d+
    匹配一个或多个数字
  • \]
    与右括号匹配
  • 关闭组1
  • +
    与此匹配1次或多次
  • #
    散列
  • $
    锚点断言我们在字符串的末尾

谢谢您的回复,我也想知道[]的号码。我怎样才能得到它?我还想用#良好的编辑检查字符串的结尾,以前的版本是不正确的,因为它会匹配
[aaa][[aaa]
.FIY,为计数添加了演示、解释和代码。如果您有问题,请告诉我。@zx81谢谢您的完美答案:)我编辑了我的问题,实际上我只想成为括号之间的数字,您能编辑您的答案吗?