C# 我想用正则表达式做一个模式

C# 我想用正则表达式做一个模式,c#,.net,regex,winforms,C#,.net,Regex,Winforms,我想做一个正则表达式模式,我想做一个模式,得到括号内的值,我试过这个,但它不起作用 String input = "(3+4)+5*4"; Match m = Regex.Match(input, @"([(0-9\/\+\-\*0-9)])"); if (m.Success) { String value = m.Groups[1].ToString(); MessageBox.Show(value); } 您所做的是错误地理解“类”在正则表达式中的作用 [] - Denot

我想做一个正则表达式模式,我想做一个模式,得到括号内的值,我试过这个,但它不起作用

String input = "(3+4)+5*4";
Match m = Regex.Match(input, @"([(0-9\/\+\-\*0-9)])");
if (m.Success)
{
    String value = m.Groups[1].ToString();
    MessageBox.Show(value);
}

您所做的是错误地理解“类”在正则表达式中的作用

[] - Denotes a set of characters to match.  This is NOT a pattern.
你需要抓住的是模式,你的模式几乎是正确的

(\([0-9][\/\+\-\*][0-9]\))

Capture:
  Open Parenthesis
  Any character in [0-9]
  Any Character in [\/\+\*\-]
  Any Character in [0-9]
  Close Parenthesis
这将只允许一个数字。如果你有任何多位数的数字,即使是10…这是行不通的。现在,如果您将其更改为以下内容:

(\([0-9]+[\/\+\-\*][0-9]+\))

那些
+
告诉正则表达式捕获一个或多个。这将允许任何数字,而不仅仅是一个数字。

您所做的是错误理解“类”在正则表达式中的作用

[] - Denotes a set of characters to match.  This is NOT a pattern.
你需要抓住的是模式,你的模式几乎是正确的

(\([0-9][\/\+\-\*][0-9]\))

Capture:
  Open Parenthesis
  Any character in [0-9]
  Any Character in [\/\+\*\-]
  Any Character in [0-9]
  Close Parenthesis
这将只允许一个数字。如果你有任何多位数的数字,即使是10…这是行不通的。现在,如果您将其更改为以下内容:

(\([0-9]+[\/\+\-\*][0-9]+\))

那些
+
告诉正则表达式捕获一个或多个。这将允许任何数字,而不仅仅是单个数字。

这可能是您正在寻找的模式:

"\(([0-9]+.?[0-9])\)S*"

您可能忘记了括号、括号和“+”是特殊字符。请尝试或其他正则表达式测试人员修改您要查找的模式。

这可能就是您要查找的模式:

"\(([0-9]+.?[0-9])\)S*"

您可能忘记了括号、括号和“+”是特殊字符。请尝试或其他regex测试人员修改您正在寻找的模式。

以帮助您进一步查看其中一些站点。一个非常有用的网站是;他们有一个很大的正则表达式库。他们也有一个共同的目标。还有一个非常有用的正则表达式工具可供使用。

帮助您进一步查看其中一些站点。一个非常有用的网站是;他们有一个很大的正则表达式库。他们也有一个共同的目标。还有一个非常有用的正则表达式工具。

请描述您的预期和实际结果,而不是简单地说“它不起作用”。好的,我会确保下次这样做,谢谢您的建议:)。不要简单地说“它不起作用”,请描述您的预期和实际结果。好的,我会确保下次这样做,谢谢你的建议:)。很有效,非常感谢你的帮助,感谢你让我理解了一些我不太理解的事情。很有效,非常感谢你的帮助,感谢你让我理解了一些我不太理解的事情。