2014-01-14 49 views
0

我寫一個程序,獲取輸入線以下格式的ID:提取與正則表達式

名字,姓氏,身份證號碼,聯繫方式

我想用正則表達式只搶ID編號格式化爲A ########其中#可以是任意數字。

我已經Google了,並且無法理解VB的正則表達式模式,任何人都可以幫我解決嗎?

回答

0

一般來說,沒有「VB的正則表達式」這樣的東西。既VB.NET和C#使用相同.NET regular expression語法:

在.NET框架中,正則表達式模式是通過一種特殊的語法或語言,這是用Perl 5正則表達式兼容,並增加了一些附加的功能,例如定義作爲從右到左的匹配。

儘管如此,您正則表達式應該是:

A\d{8} 

這意味着:匹配A,然後匹配任何數字(\d)正是八次。

實用VB.NET用法:

Dim input As String = "Firstname, Lastname, A12345678, contact info" 
Dim id As String = Regex.Match(input, "A\d{8}").Value 
+0

真棒,這並它和是 容易明白。謝謝您的幫助! – user2448416

0

您可以簡單地使用:

\bA\d+\b 

在背景:

Imports System.Text.RegularExpressions 

Module Module1 
    Sub Main() 
    Dim regex As Regex = New Regex("\bA\d+\b") 
    Dim match As Match = regex.Match("Firstname, Lastname, A123456, Other stuff...") 
    If match.Success Then 
     Console.WriteLine(match.Value) 
    End If 
    End Sub 
End Module 

工作例如:http://regex101.com/r/pB0pR5