Imports System.Text.RegularExpressions
Module Module1
Private r As Regex = New Regex( _
"^N(?:;(?!CHARSET=UTF-8)[^:]*|)(?:;CHARSET=UTF-8|):(?<strSurname>[^;\n\r]*);?(?<strGivenName>[^;\n\r]*);?(?<strMidName>[^;\n\r]*);?(?<strPrefix>[^;\n\r]*);?(?<strSuffix>[^;\n\r]*)", _
RegexOptions.IgnoreCase Or RegexOptions.Multiline)
Sub Main()
Dim s As String = "BEGIN:VCARD" + System.Environment.NewLine + _
"VERSION:2.1" + System.Environment.NewLine + _
"N:Bacon;Kevin" + System.Environment.NewLine + _
"FN: Kevin Bacon" + System.Environment.NewLine + _
"ORG:Movies.com"
Dim m As Match = r.Match(s)
If (m.Success) Then
Console.WriteLine(m.Groups("strSurname").Value)
Console.WriteLine(m.Groups("strGivenName").Value)
Console.WriteLine(m.Groups("strMidName").Value)
Console.WriteLine(m.Groups("strPrefix").Value)
Console.WriteLine(m.Groups("strSuffix").Value)
End If
End Sub
End Module
SW1wb3J0cyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMKCk1vZHVsZSBNb2R1bGUxCiAgUHJpdmF0ZSByIEFzIFJlZ2V4ID0gTmV3IFJlZ2V4KCBfCiAgICAiXk4oPzo7KD8hQ0hBUlNFVD1VVEYtOClbXjpdKnwpKD86O0NIQVJTRVQ9VVRGLTh8KTooPzxzdHJTdXJuYW1lPlteO1xuXHJdKik7Pyg/PHN0ckdpdmVuTmFtZT5bXjtcblxyXSopOz8oPzxzdHJNaWROYW1lPlteO1xuXHJdKik7Pyg/PHN0clByZWZpeD5bXjtcblxyXSopOz8oPzxzdHJTdWZmaXg+W147XG5ccl0qKSIsIF8KICAgIFJlZ2V4T3B0aW9ucy5JZ25vcmVDYXNlIE9yIFJlZ2V4T3B0aW9ucy5NdWx0aWxpbmUpCiAgU3ViIE1haW4oKQogICAgRGltIHMgQXMgU3RyaW5nID0gIkJFR0lOOlZDQVJEIiAgICAgKyBTeXN0ZW0uRW52aXJvbm1lbnQuTmV3TGluZSArIF8KICAgICAgICAgICAgICAgICAgICAgICJWRVJTSU9OOjIuMSIgICAgICsgU3lzdGVtLkVudmlyb25tZW50Lk5ld0xpbmUgKyBfCiAgICAgICAgICAgICAgICAgICAgICAiTjpCYWNvbjtLZXZpbiIgICArIFN5c3RlbS5FbnZpcm9ubWVudC5OZXdMaW5lICsgXwogICAgICAgICAgICAgICAgICAgICAgIkZOOiBLZXZpbiBCYWNvbiIgKyBTeXN0ZW0uRW52aXJvbm1lbnQuTmV3TGluZSArIF8KICAgICAgICAgICAgICAgICAgICAgICJPUkc6TW92aWVzLmNvbSIKICAgIERpbSBtIEFzIE1hdGNoID0gci5NYXRjaChzKQogICAgSWYgKG0uU3VjY2VzcykgVGhlbgogICAgICBDb25zb2xlLldyaXRlTGluZShtLkdyb3Vwcygic3RyU3VybmFtZSIpLlZhbHVlKQogICAgICBDb25zb2xlLldyaXRlTGluZShtLkdyb3Vwcygic3RyR2l2ZW5OYW1lIikuVmFsdWUpCiAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG0uR3JvdXBzKCJzdHJNaWROYW1lIikuVmFsdWUpCiAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG0uR3JvdXBzKCJzdHJQcmVmaXgiKS5WYWx1ZSkKICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobS5Hcm91cHMoInN0clN1ZmZpeCIpLlZhbHVlKQogICAgRW5kIElmCiAgRW5kIFN1YgpFbmQgTW9kdWxl