对于Java应用程序,我有以下字符串:/a/b/first/one.js, /a/b/second/two.js, /a/b/third/three.html
我想选择最后一个路径(/a/b/third/three.html
)并有这个正则表达式:/a/b/(.*?).html
,但它选择了整行。
如何让正则表达式停止匹配整行并只选择其中的一部分?
对于这种情况,您可以使用这种温和的贪婪模式,使用负面的展望:
/a/b/(?:(?!/a/b/).)*.html
正则表达式演示
记下与下一个位置没有/a/b/
的任何字符的 0 或多个匹配的(?:(?!/a/b/).)*
。这种消极的展望是针对每个角色的。
您可以匹配非空格(或要否定的任何分隔符)而不是.
这样它就不会溢出到下一个:
/a/b/(S*).html