Askiitians
Askiitians

Reputation: 291

Regex to find Href value

I have a string in which I have anchor tag I want to know the href values of those anchor tags. my string is like:

This is Test page <a href='test.aspx'>test page</a> .

in this I want to find the value of href i.e. test.aspx

Please suggest me any good regx group for this.

Upvotes: 1

Views: 9148

Answers (3)

Mark Maslar
Mark Maslar

Reputation: 1121

Instead of using Regex on HTML, consider using the Html Agility Pack instead.

Upvotes: 2

Bob Vale
Bob Vale

Reputation: 18474

if you use <a [^>]*href=(?:'(?<href>.*?)')|(?:"(?<href>.*?)") then the result will be stored in the named group href

Example:

var inputString="This is Test page <a href='test.aspx'>test page</a>";
var regex=new Regex("<a [^>]*href=(?:'(?<href>.*?)')|(?:\"(?<href>.*?)\")",RegexOptions.IgnoreCase);
var urls=regex.Matches(inputString).OfType<Match>().Select(m =>m.Groups["href"].Value);

urls will be a collection of strings containing the hrefs.

Upvotes: 4

Lea Hayes
Lea Hayes

Reputation: 64196

The following regex does the trick:

href=['"]([^'"]+?)['"]

Upvotes: 3

Related Questions