Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| ' Visual Basic .NET Document | |
| Option Strict On | |
| ' <Snippet1> | |
| Imports System.Diagnostics | |
| Imports System.Text.RegularExpressions | |
| Module Example | |
| Public Sub Main() | |
| Dim sw As Stopwatch | |
| Dim addresses() As String = { "AAAAAAAAAAA@contoso.com", | |
| "AAAAAAAAAAaaaaaaaaaa!@contoso.com" } | |
| ' The following regular expression should not actually be used to | |
| ' validate an email address. | |
| Dim pattern As String = "^[0-9A-Z]([-.\w]*[0-9A-Z])*$" | |
| Dim input As String | |
| For Each address In addresses | |
| Dim mailBox As String = address.Substring(0, address.IndexOf("@")) | |
| Dim index As Integer = 0 | |
| For ctr As Integer = mailBox.Length - 1 To 0 Step -1 | |
| index += 1 | |
| input = mailBox.Substring(ctr, index) | |
| sw = Stopwatch.StartNew() | |
| Dim m As Match = Regex.Match(input, pattern, RegexOptions.IgnoreCase) | |
| sw.Stop() | |
| if m.Success Then | |
| Console.WriteLine("{0,2}. Matched '{1,25}' in {2}", | |
| index, m.Value, sw.Elapsed) | |
| Else | |
| Console.WriteLine("{0,2}. Failed '{1,25}' in {2}", | |
| index, input, sw.Elapsed) | |
| End If | |
| Next | |
| Console.WriteLine() | |
| Next | |
| End Sub | |
| End Module | |
| ' The example displays output similar to the following: | |
| ' 1. Matched ' A' in 00:00:00.0007122 | |
| ' 2. Matched ' AA' in 00:00:00.0000282 | |
| ' 3. Matched ' AAA' in 00:00:00.0000042 | |
| ' 4. Matched ' AAAA' in 00:00:00.0000038 | |
| ' 5. Matched ' AAAAA' in 00:00:00.0000042 | |
| ' 6. Matched ' AAAAAA' in 00:00:00.0000042 | |
| ' 7. Matched ' AAAAAAA' in 00:00:00.0000042 | |
| ' 8. Matched ' AAAAAAAA' in 00:00:00.0000087 | |
| ' 9. Matched ' AAAAAAAAA' in 00:00:00.0000045 | |
| ' 10. Matched ' AAAAAAAAAA' in 00:00:00.0000045 | |
| ' 11. Matched ' AAAAAAAAAAA' in 00:00:00.0000045 | |
| ' | |
| ' 1. Failed ' !' in 00:00:00.0000447 | |
| ' 2. Failed ' a!' in 00:00:00.0000071 | |
| ' 3. Failed ' aa!' in 00:00:00.0000071 | |
| ' 4. Failed ' aaa!' in 00:00:00.0000061 | |
| ' 5. Failed ' aaaa!' in 00:00:00.0000081 | |
| ' 6. Failed ' aaaaa!' in 00:00:00.0000126 | |
| ' 7. Failed ' aaaaaa!' in 00:00:00.0000359 | |
| ' 8. Failed ' aaaaaaa!' in 00:00:00.0000414 | |
| ' 9. Failed ' aaaaaaaa!' in 00:00:00.0000758 | |
| ' 10. Failed ' aaaaaaaaa!' in 00:00:00.0001462 | |
| ' 11. Failed ' aaaaaaaaaa!' in 00:00:00.0002885 | |
| ' 12. Failed ' Aaaaaaaaaaa!' in 00:00:00.0005780 | |
| ' 13. Failed ' AAaaaaaaaaaa!' in 00:00:00.0011628 | |
| ' 14. Failed ' AAAaaaaaaaaaa!' in 00:00:00.0022851 | |
| ' 15. Failed ' AAAAaaaaaaaaaa!' in 00:00:00.0045864 | |
| ' 16. Failed ' AAAAAaaaaaaaaaa!' in 00:00:00.0093168 | |
| ' 17. Failed ' AAAAAAaaaaaaaaaa!' in 00:00:00.0185993 | |
| ' 18. Failed ' AAAAAAAaaaaaaaaaa!' in 00:00:00.0366723 | |
| ' 19. Failed ' AAAAAAAAaaaaaaaaaa!' in 00:00:00.1370108 | |
| ' 20. Failed ' AAAAAAAAAaaaaaaaaaa!' in 00:00:00.1553966 | |
| ' 21. Failed ' AAAAAAAAAAaaaaaaaaaa!' in 00:00:00.3223372 | |
| ' </Snippet1> |