PHP非贪婪正则表达式

PHP非贪婪正则表达式,php,html,regex,Php,Html,Regex,我写了一个正则表达式来从锚标签中查找href 我的正则表达式是 <a.*?href="(.*?)">blah<\/a> //dot is matching all 根据我的说法,它应该只抓取最后一个url,因为正则表达式非常适合它。要回答这个问题,您可以将点运算符替换为not组,以匹配除结束标记以外的所有内容: 你说的“完美”是什么意思?由于*?部分的原因,您的regexp匹配了整个代码。好吧,“完美”部分符合我的要求,我肯定错了。不是吗?应该在匹配下一个字符之前停止,

我写了一个正则表达式来从锚标签中查找href
我的正则表达式是

<a.*?href="(.*?)">blah<\/a> //dot is matching all

根据我的说法,它应该只抓取最后一个url,因为正则表达式非常适合它。

要回答这个问题,您可以将点运算符替换为not组,以匹配除结束标记以外的所有内容:


你说的“完美”是什么意思?由于
*?
部分的原因,您的regexp匹配了整个代码。好吧,“完美”部分符合我的要求,我肯定错了。不是吗?应该在匹配下一个字符之前停止,因为它是非贪婪匹配?它将匹配整个标记,但
href
在第一个捕获的组中
$1
您的正则表达式对我来说很好。尝试将正则表达式放在以下位置:。把这三个标签放进去,你会看到它只匹配最后一行,并捕获“get_this”。
<a href="some_url">abc</a>
<a href="some_url1">def</a>
<a href="get_this">blah</a>