我希望有人可以帮助我,我正在使用Javascript和asp
我有这个字符串/folder1/folder2/pagename.asp
我需要一个正则表达式从字符串
中删除/pagename.asppagetype.replace(/\/.*?\.asp/ig, '');
上面的正则表达式是那里的一半,但问题是它从开头/ /和.asp之间的所有内容开始剥离
如何使正则表达式变得懒惰,以便它只会在最后一个/和.asp之间去掉?
任何帮助将不胜感激!
答案 0 :(得分:2)
/(.*)\/.*?\.asp/ig
问题是正则表达式尽可能匹配为早期 - 一个解决方案是在开始时放置一个贪婪的量词,以便它吞噬所有可能的早期匹配并获得最后一个
我们使用捕获组抓住那一点,以便我们可以保留它。
答案 1 :(得分:2)
试试这个:
pagetype.replace(/\/[^\/]*\.asp/ig, '');
我使用[^\/]
组来表示不等于/
的任何符号。
答案 2 :(得分:1)
当然使用此功能,将剥离页面名称和扩展名:
(\w+)(\.\w+)(:[0-9]+)?(/.+)?