gpt4 book ai didi

regex - 非贪婪正则表达式匹配、JavaScript 和 ASP

转载 作者:行者123 更新时间:2023-12-04 12:14:53 24 4
gpt4 key购买 nike

我需要做一个非贪婪的比赛,希望有人能帮助我。我有以下内容,我正在使用 JavaScript 和 ASP

match(/\href=".*?\/pdf\/.*?\.pdf/)

上面的匹配,匹配 href 标签的第一个开始。我需要它只匹配作为 /pdf/ 一部分的最后一个 href文件夹。

有任何想法吗 ?

最佳答案

您需要为子表达式匹配使用捕获括号:

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>

关于regex - 非贪婪正则表达式匹配、JavaScript 和 ASP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2424981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com