正则表达式匹配所有内容,直到最后一次出现/

use*_*977 8 regex ant

使用正则表达式(Ant中的replaceregexp)如何匹配(然后替换)从行的开头到最后一次出现的斜杠的所有内容?

我需要的是从以下任何一个开始:

../../replace_this/keep_this

../replace_this/replace_this/Keep_this

/../../replace_this/replace_this/Keep_this

把它们变成这个:

what_I_addedKeep_this

看起来它应该很简单,但我没有得到它.我已经制作了正则表达式,它将识别从那里到行尾的最后一个斜杠和匹配,但我需要的是一个匹配从行的开头到最后一个斜杠的所有内容,所以我可以将它全部替换掉.

这是一个Ant构建文件,它读取一堆.txt文件并转换它在其中找到的任何链接.我只想使用replaceregexp,而不是变量或属性.如果可能的话.

ssh*_*124 20

你可以匹配这个:

.*\/
Run Code Online (Sandbox Code Playgroud)

并替换为您的文字.

DEMO


小智 5

你想要做的是贪婪地匹配,模式的最长可能匹配,通常是默认的,但匹配到'/'的最后一个实例。

那将是这样的:

 .*\/
Run Code Online (Sandbox Code Playgroud)

解释:

. any character
* any and all characters after that (greedy)
\/ the slash escaped, this will stop at the **last** instance of '/'
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到它的实际效果:http : //regex101.com/r/pI4lR5