如何在Velocity中使用正则表达式提取字符串?

时间:2016-10-17 10:11:47

标签: regex velocity

我们有confluence docs门户网站,我们使用 Scroll Viewport 插件。此插件使用 Velocity 作为模板语言。我需要从URL中获得突出显示的字符串。我已经在SO上阅读this article但它对我不起作用。我尝试使用正则表达式,因为我认为这是最好的解决方案。

www.servename.com/home/display/的 DOCMS /跟踪+数据+和+系统+错误

到目前为止我做了什么:

 #set($regex = "s/.*\/\/.*\/.*\/.*\/\(.*\)\/.*/\1/")
 #set($url = $result.absoluteLink)
 #set($spaceName = $url.replaceAll($regex, ""))
 $spaceName

1 个答案:

答案 0 :(得分:0)

不确定我是否完全理解,但如果你总是试图在结束前获得第二个最后一个目录,那么这个正则表达式应该适合你:

(?:.*\/\K)+.*(?=\/)

示例:https://regex101.com/r/kND4Vz/2

我不确定您要替换它的是什么,但如果您发表评论,我会尽力帮助(或解释正则表达式)