2013-01-16 80 views
1

如何匹配链接中的href和'a'vlaue?匹配链接中的href和'a'值

所以,从下面抽出 'www.google.com' & '测试':

<A HREF="www.google.com/test.html" title="test">test</A> 

这里就是我想:'<A HREF=(.+).html'但它不匹配?

+2

不要使用正则表达式来解析HTML。有很多用于各种语言的HTML解析器。你在使用哪一个? – pemistahl

+1

对于用户的防御,有时你想要的只是一个快速肮脏的正则表达式,因为你正在处理一些事情,你知道这些标签总是以特定的方式构造......但是给定的正则表达式并不是一个很好的开始手头的问题。 – paddy

+2

事情永远不会像开始时那样容易,但是一个正确的case的正则表达式就像['\(.*\)'](http://refiddle.com/gjv)。在自己的危险使用:) –

回答

1

HTML的正则表达式可能会变得很脆弱,但是对于这种确切情况,正则表达式可能是正则表达式;

<A HREF="\(.*\)" .*>\(.*\)</A>

0

由于文本html不会出现在你的标签.....

+0

我更新了问题,但结果相同。 –

1

试试这个:

<A.*HREF\s*=\s*(?:"|')([^"']*)(?:"|').*>(.*)<\/A> 

Group1和Group2会给你想要的结果。

+0

请注意,它只能在这个特定的标签上工作,这显然甚至不是一个真正的示例,因为URL不正确。 –