Question: I have a HTML fragment which contains two anchor tags in various parts of the HTML. 

```
<span id="ctl00_PlaceHolderTitleBreadcrumb_ContentMap">
    <span><a class="ms-sitemapdirectional" href="/">My Site</a></span>
    <span> &gt; </span>
    <span><a class="ms-sitemapdirectional" href="/Lists/Announcements/AllItems.aspx">Announcements</a></span>
    <span> &gt; </span>
    <span class="ms-sitemapdirectional">Settings</span>
</span>

```

I'm looking to write a regular expression that will return the second anchor tag, which has 'Announcements' as it's text. In trying to write an expression, I keep getting both anchor tags returned - but I'm only interested in the second tag.

Is it possible to match the second tag only?

**EDIT:**

I will always know that I'm looking for an anchor tag which has 'Announcements' in it's text, if that helps.

Answer: 
Parse the fragment into a DOM. Use XPath to issue:

```
(//a)[2]

```

Done.
you don't have to use complicated regular expression for this if you don't want to. since you want to get anchors, and usually anchors has ending tags `</a>`, you can use your favourite language and do splits on `</a>` for each line.
eg pseudocode

```
for each line in htmlfile
do
   var=split line on </a>
   for each item in var
   do
        if item has "Announcement" then
           print "found"
        end if
   done
done

```