获取 href 正则表达式捕获器的最内部正则表达式匹配项



我想捕捉href标签,里面有YouTube链接。

我有这个正则表达式:

"<a.*?href=(.*?youtu.?be.*?)>.*?</a>"

它可以工作,但如果标签关闭,它不会停止。

意思是如果我有:

<a href=www.google.come>google</a> <a href=www.youtube.com>youtube</a>

期望的结果:

<a href=www.youtube.com>youtube</a

实际结果:

<a href=www.google.come>google</a> <a href=www.youtube.com>youtube</a>

它抓住了整个事情,将谷歌<a识别为开场白,将YouTube </a>视为接近者。

我想让我的正则表达式更聪明一点,这样它就知道如何在 Google 关闭器出现时停止比赛,并在 Youtube 开场白出现时开始新的比赛尝试。

我试过这个,但没有用:

"<a.*?[^>]href=(.*?youtu.?be.*?)>.*?</a>"

还尝试了这个:

"<a[^>].*?href=(.*?youtu.?be.*?)>.*?</a>"

你可以试试这个模式:

"<a[^>]*?href=[^>]*?youtu.?be[^>]*?>[^>]*?</a>"

最新更新