我需要进行非贪婪匹配,请帮忙。我的代码如下,使用的是 JavaScript 和 ASP。
match(/\href=".*?\/pdf\/.*?\.pdf/)
上面的匹配模式可以匹配第一个href标签的开头。我需要它只匹配位于“/pdf/”文件夹中的最后一个href。
有什么想法吗?
我需要进行非贪婪匹配,请帮忙。我的代码如下,使用的是 JavaScript 和 ASP。
match(/\href=".*?\/pdf\/.*?\.pdf/)
match(/\href=".*?(\/pdf\/.*?\.pdf)/)[1];
Match将返回一个数组,索引0包含整个匹配项,所有子表达式捕获将按它们匹配的顺序添加到数组中。在本例中,索引1
包含与\/pdf\/.*?\.pdf
匹配的部分。
match(/\href="([^"]+?\/pdf\/[^\.]+?\.pdf)"/)[1];
[^"]+?
将懒惰地匹配一个不包含双引号的字符字符串。这将限制匹配范围仅在引号内,因此在下面的字符串中匹配不会太宽泛:
<a href="someurl/somepage.html">Test</a><a href="dir/pdf/file.pdf">Some PDF</a>