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: 
like

```
   /<a.+?>[^<>]*Announcements[^<>]*</a>/

```

PS. regular expression are the wrong tool for parsing html
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

```