RegEx Everything up to but not including (extracting hyperlink text)

I have a program that I'm working on that gets a directory list from a WebDav secure server (using HttpWebResponse).  This list is returned as HTML.  I'm trying to use RegEx to get the text that appears in the hyperlink (which is the name of a folder or file).  I'm close, but not quite there...

Here's an example of what is returned on the request:

"<html><head><title> - /localuser/</title></head><body><H1> - /localuser/</H1><hr>  <pre><A HREF="/">[To Parent Directory]</A><br><br> 2/26/2009  2:38 PM        &lt;dir&gt; <A HREF="/localuser/Albe/">Albe</A><br>  3/5/2009  4:00 PM        &lt;dir&gt; <A HREF="/localuser/Art/">Art</A><br> 3/23/2009 12:31 PM        &lt;dir&gt; <A HREF="/localuser/Castle/">Castle</A><br> 2/19/2009  5:25 PM        &lt;dir&gt; <A HREF="/localuser/CF/">CF</A><br> 3/16/2009  8:43 PM        &lt;dir&gt; <A HREF="/localuser/CHI/">CHI</A><br> 2/19/2009  5:43 PM        &lt;dir&gt; <A HREF="/localuser/CSE/">CSE</A><br></pre><hr></body></html>"

I've come up with a RegEx expression that will parse out the complete hyperlink:
     - returns <A HREF=""/localuser/Albe/"">Albe</A>

With a small adjustment to the expression, I can exclude the anchor, and just get the text with the closing bracket:
     - returns Albe</A>

I can't figure out how to get rid of the last bracket </A>.  I've tried the following, to no avail:

     - returns Albe</A><br

     - returns Albe</A>

I appreciate anything you can think of.
LVL 27
Who is Participating?
Fernando SotoConnect With a Mentor RetiredCommented:
Hi VBRocks;

Here is some sample code to do what you want.

Imports System.Text.RegularExpressions
Dim xmlData As String = "<html><head><title> - /localuser/</title></head><body><H1> - /localuser/</H1><hr>  <pre><A HREF="" / "">[To Parent Directory]</A><br><br> 2/26/2009  2:38 PM        &lt;dir&gt; <A HREF="" / localuser / Albe / "">Albe</A><br>  3/5/2009  4:00 PM        &lt;dir&gt; <A HREF="" / localuser / Art / "">Art</A><br> 3/23/2009 12:31 PM        &lt;dir&gt; <A HREF="" / localuser / Castle / "">Castle</A><br> 2/19/2009  5:25 PM        &lt;dir&gt; <A HREF="" / localuser / CF / "">CF</A><br> 3/16/2009  8:43 PM        &lt;dir&gt; <A HREF="" / localuser / CHI / "">CHI</A><br> 2/19/2009  5:43 PM        &lt;dir&gt; <A HREF="" / localuser / CSE / "">CSE</A><br></pre><hr></body></html>"
Dim mc As MatchCollection = Regex.Matches(xmlData, "<[aA][^>]+>(.*?)</[aA]>")
If mc.Count > 0 Then
    For Each m As Match In mc
        Console.WriteLine("hyperlink text = " + m.Groups(1).Value)
End If

Open in new window

VBRocksAuthor Commented:
Sweet!  Thank you so much for the help!  I've been researching this most of the morning.
Fernando SotoRetiredCommented:
Not a problem, glad to help.  ;=)
VBRocksAuthor Commented:
The big tip was "Groups" (m.Groups(1).Value)  I was just using m.Value.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.