2011-12-17 90 views
0

从URL中提取文本?正则表达式字母分组?

尝试此的preg_match

/\<a href=([^"]*) .?\>([^\<\/a]*)\<\/a\>+/ 

不工作

<a href="_first.asp?FileName=37479676820111216064143">   
<font size="2" face="Tahoma"> 
TEXT I WANT TO EXTRACT 
</font> 
</a> 

敢肯定有一些错误([^\<\/a]*)我太糟糕的正则表达式,甚至无法找到一个很好的教程!

+0

添加了'php'标签,因为有很多**正则表达式的方言。但是当你使用'preg_match'时,我们可以假设PHP的方言。 – 2011-12-17 12:12:32

+0

哦,是的,抱歉,我忘了添加它,我的大脑忙于思考 – 2011-12-17 12:14:16

回答

0

从一开始,你有href=,然后有任何数量的非引号(在你的例子中为零,因为下一个字符是引号),然后是一个空格(由于下一个字符字符不是一个引号,而是一个空格)。

在任何情况下,只要结构不变,这是可以用regexps实现的,it's not really the way to do it

0

可能:

/^<a[^>]+>(?:\s*<[^>]+>)*\s*([^<]+)(?:\s*<\/[^>]+>)*\s*<\/a>$/m

是否行得通呢?