2014-01-14 3 views
0

Я пишу программу, которая получает строки ввода в следующем формате:Извлечение ID с регулярным выражением

Firstname, Lastname, номер удостоверения личности, контактные данные

Я хочу использовать регулярное выражение, чтобы просто захватить ID номер, который отформатирован как A ########, где # может быть любым числом.

У меня есть googled и у меня проблемы с регулярными выражениями VB, может ли кто-нибудь помочь мне?

ответ

0

В общем, нет такого понятия, как «регулярное выражение VB». Оба VB.NET и C# использует тот же синтаксис: .NET regular expression

В .NET Framework, шаблоны регулярных выражений определяются специальным синтаксисом или языке, который совместим с Perl 5 регулярных выражений и добавляет некоторые дополнительные функции, такие как совпадение справа налево.

Тем не менее, ваш Regex должен быть:

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

Смежные вопросы