0

我需要为 VB.NET 的模式匹配编写一个正则表达式。我需要使用正则表达式来查找像 12345-1234-12345-123 这样的模式,包括破折号。数字可以是任何变化。该值存储为 varchar。不确定我的示例在下面有多近或多远。非常感谢任何帮助/指导。

Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
    Dim testString As String = "12345-1234-12345-123"
    Dim testNumberWithDashesRegEx As Regex = New Regex("^\d{5}-d{4}-d{5}-\d{3}$")
    Dim regExMatch As Match = testNumberWithDashesRegEx.Match(testString)
    If regExMatch.Success Then
        Label1.Text = "There is a match."
    Else
        Label1.Text = "There is no match."
    End If
End Sub
4

1 回答 1

1

让我们分解这个正则表达式:

^\d{5}-d{4}-d{5}-\d{3}$

  • ^: 在目标字符串的开头匹配
  • \d: 匹配数字 0-9 的字符类
  • -: 匹配破折号 (-) 字符
  • d:匹配字母“d”
  • {5}: 匹配上一个类 5 次
  • $:匹配目标字符串的末尾。

一切对我来说都很好,除了你应该把你的普通“d”改为“\d”:

^\d{5}-\d{4}-\d{5}-\d{3}$

于 2013-08-29T13:53:48.967 回答