需要一些正则表达式帮助javascript

时间:2010-01-18 20:18:38

标签: javascript regex

我希望有人可以帮助我,我正在使用Javascript和asp

我有这个字符串/folder1/folder2/pagename.asp

我需要一个正则表达式从字符串

中删除/pagename.asp
pagetype.replace(/\/.*?\.asp/ig, '');

上面的正则表达式是那里的一半,但问题是它从开头/ /和.asp之间的所有内容开始剥离

如何使正则表达式变得懒惰,以便它只会在最后一个/和.asp之间去掉?

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:2)

/(.*)\/.*?\.asp/ig

问题是正则表达式尽可能匹配为早期 - 一个解决方案是在开始时放置一个贪婪的量词,以便它吞噬所有可能的早期匹配并获得最后一个

我们使用捕获组抓住那一点,以便我们可以保留它。

答案 1 :(得分:2)

试试这个:

pagetype.replace(/\/[^\/]*\.asp/ig, '');

我使用[^\/]组来表示不等于/的任何符号。

答案 2 :(得分:1)

当然使用此功能,将剥离页面名称和扩展名:


(\w+)(\.\w+)(:[0-9]+)?(/.+)?