对于 Java 应用程序,我有以下字符串:/a/b/first/one.js,/a/b/second/two.js,/a/b/third/two.html
我想选择最后一个路径 (/a/b/third/third.html
) 并使用以下正则表达式:/a/b/(.*?)\。 html
,但它选择整行。
如何让正则表达式停止匹配整行并只选择其中的一部分?
最佳答案
对于这种情况,您可以使用这种温和的贪婪模式,并使用负前瞻:
/a/b/(?:(?!/a/b/).)*\.html
记下 (?:(?!/a/b/).)*
,它匹配 0 个或多个不包含 /a/b/< 的字符
在下一个位置。对于每个字符都会断言这种否定的前瞻。
关于java - 正则表达式贪婪匹配选择整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48940706/