Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

Hi

Using this REP I wanna extract all emails from a text:

/[A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6}/i

And this is a sample text:

Dave�s email address dave@mysite.com, Mike�s email address mike@example.com,
and Henry�s email address henry@sample.org

It's my first time I am using Regular Expressions!

so I used and customized this code found in MSDN:

       Dim text As String = "Dave�s email address [email]dave@mysite.com[/email], Mike�s email address [email]mike@example.com[/email], and Henry�s email address [email]henry@sample.org[/email]"
       Dim pat As String = "/[A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6}/i"
       ' Compile the regular expression.
       Dim r As Regex = New Regex(pat, RegexOptions.IgnoreCase)
       ' Match the regular expression pattern against a text string.
       Dim m As Match = r.Match(text)
       Dim matchcount As Integer = 0
       While (m.Success)
           matchcount += 1
           MsgBox("Match" & (matchcount))
           Dim i As Integer
           For i = 1 To 2
               Dim g As Group = m.Groups(i)
               MsgBox("Group" & i & "='" & g.ToString() & "'")
               Dim cc As CaptureCollection = g.Captures
               Dim j As Integer
               For j = 0 To cc.Count - 1
                   Dim c As Capture = cc(j)
                   MsgBox("Capture" & j & "='" & c.ToString() _
                      & "', Position=" & c.Index)
               Next j
           Next i
           m = m.NextMatch()
       End While

It won't work!

Am I wrong?

Anyone able to help me with this?:)

Posted

The problem is that you don't understand regular expressions well enough to realise that the leading / and trailing /i in the pattern you're trying to use are nonsense. I think they're sed syntax but i don't really think it matters particularly, they're clearly not helpful to you.

 

I stongly suggest you not use regular expression until you have some idea how they work, they're complicated and often subtle and if you rely on them to work without knowing when they're likely to fail you're going to end up missing or corrupting information in the rest of your application sooner or later.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...