匹配所有内容,直到最后一个角色出现

时间:2016-05-24 19:55:18

标签: regex

我有以下网址结构:

http://domain.com/images/1/10/104/104901/7.jpg

如何才能将此与正则表达式匹配,直到最后一个/斜杠才能返回此字符串?

http://domain.com/images/1/10/104/104901/

感谢您的帮助!

更正:我使用Javascript。

3 个答案:

答案 0 :(得分:2)

这取决于语言。

但对于Python,您可以使用.+/

的正则表达式

但这只是一个快速测试(我不能保证它的稳健性)。

Here is it in action (regex101)

稍作修改就可以让它通过the regular expression site you were using

.+\/

或者,如果您不想使用正则表达式,您可以只镜像字符串并找到其他人建议的第一个斜杠。

答案 1 :(得分:2)

在Javascript中,您可以使用贪婪匹配来匹配到最后/

/^.+\//

RegEx Demo

或者您可以在最后/之后更换零件:

var s = 'http://domain.com/images/1/10/104/104901/7.jpg'
var r = s.replace(/[^/]+$/, '')
//=> "http://domain.com/images/1/10/104/104901/"

答案 2 :(得分:2)

不使用正则表达式的ES6替代方法是使用asUnsafeCsvReaderString.prototype.substring

String.prototype.lastIndexOf

那么,你为什么要用它?

myString.substring(0, myString.lastIndexOf('/'))

在我的计算机上使用Firefox进行基准测试,但结果在所有地方都应该类似。