我正在尝试从错误消息中捕获数字,即类似
命令参数[8]''无法转换数据值
有没有人知道如何使用c#中的正则表达式从以下字符串中获取数字,即8?
答案 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
输出:
答案 1 :(得分:0)
如果数字是字符串中唯一的数字,那么只需搜索一个数字即可获得模式:
\d+
- 表示匹配号码+
一个或多个。