C# 使用正则表达式从字符串中获取数字

C# 使用正则表达式从字符串中获取数字,c#,.net,regex,C#,.net,Regex,我正试图从我的错误消息中捕获数字,例如 由于某些原因,无法转换命令参数[8]“”数据值 有人知道如何使用c#中的正则表达式从以下字符串中获取数字,即8吗?使用以下模式: \[([0-9]+)\] ^parameter\[([0-9]+)\]$ 演示: 编辑:如果要将匹配限制为“参数[此处的数字]”形式的字符串,请使用以下模式: \[([0-9]+)\] ^parameter\[([0-9]+)\]$ 演示: Edit1:VB.net中的代码片段。希望你能把它翻译成C# 输出: 如果数字将

我正试图从我的错误消息中捕获数字,例如

由于某些原因,无法转换命令参数[8]“”数据值


有人知道如何使用c#中的正则表达式从以下字符串中获取数字,即8吗?

使用以下模式:

\[([0-9]+)\]
^parameter\[([0-9]+)\]$
演示:

编辑:如果要将匹配限制为“
参数[此处的数字]
”形式的字符串,请使用以下模式:

\[([0-9]+)\]
^parameter\[([0-9]+)\]$
演示:

Edit1:VB.net中的代码片段。希望你能把它翻译成C#

输出:

如果数字将是字符串中的唯一数字,则只需搜索一个数字即可简单地更改模式:


\d+
-表示匹配一个数字
+
一个或多个。

\d
还有:你的字面意思是“数字”还是“数字”?显然你已经搜索了现有的答案并找到了类似的东西。您是否介意澄清您在应用现有答案中建议的解决方案时遇到的问题?是否有一种方法可以说查找仅在字符串“parameter[8]”中的数字?var regexResult=Regex.Match(“parameter[8]”,@“^parameter[([0-9]+)]$”;这将返回“parameter[8]”作为结果。我以为它只会返回数字8。如果它有其他单词,例如“Command parameter[8]data..,它看起来不起作用。有没有一种方法,如果我可以得到的数字,从句子中有词的参数。更像是在这句话中检查,如果它有参数word并在word parameter的括号内获取数字?将模式更改为“parameter[([0-9]+)]”