缩小正则表达式结果

Narrowing Regex results

我正在创建一个正则表达式。这是我的测试数据集:

<a href="test.html">test1</a>
<a href="test.pdf">test2</a>
<a href="test.html">test1</a>
<a href="test.html">test1</a><a href="testtime.pdf">test2</a>

我正在尝试从 "href=" 捕获到 "pdf",但以下正则表达式:

href=.*?\.pdf

如果它被隔离到一行,将捕获正确的数据,但它也会匹配最后一行的以下内容:

href="test.html">test1</a><a href="testtime.pdf

我只想要从最后一个 "href" 到“.pdf”,我不想在线上的第一个 "href" 或它与第二个 [=25] 之间的任何内容=].是否可以修改正则表达式以正确匹配它?

谢谢。

首先,使用捕获组,它们允许你匹配整个单词,但只提取它的一部分,例如 href=\"(.*\.pdf)\" 应该允许你匹配 href="xxxx.pdf" 字符串,但只提取xxxx.pdf部分。

如何执行此操作取决于您使用什么技术来获取正则表达式。不知何故我怀疑这是 html.

使属性以引号开头且值不包含此引号:

href="[^"]*?\.pdf

演示:https://regex101.com/r/UuRin3/1

P.S.

Don't use Regex to parse HTML