使用正则表达式从字符串中获取Number

时间:2015-03-04 19:31:14

标签: c# .net regex

我正在尝试从错误消息中捕获数字,即类似

  

命令参数[8]''无法转换数据值

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

2 个答案:

答案 0 :(得分:2)

使用以下模式:

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

演示:https://regex101.com/r/mE0rX2/2

修改:如果要将匹配限制为" parameter[digits_here]"形式的字符串,请使用以下模式:

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

演示:https://regex101.com/r/xE3tY4/1

Edit1: VB.net中的代码段。希望您可以将其转换为C#

Imports System.Text.RegularExpressions

    Module Module1

        Sub Main()
            Dim str As String : str = "parameter[8]"
            Dim regex As New Regex("^parameter\[([0-9]+)\]$")
            For Each m In regex.Matches(str)
                MsgBox(m.groups(1).ToString)
            Next
        End Sub

    End Module

输出: enter image description here

答案 1 :(得分:0)

如果数字是字符串中唯一的数字,那么只需搜索一个数字即可获得模式:

\d+ - 表示匹配号码+一个或多个。