我希望有人能帮助我,我正在使用Javascript和asp
我有这个字符串/folder1/folder2/pagename.asp
我需要一个正则表达式来从字符串中剥离/pagename.asp
pagetype.replace(/\/.*?\.asp/ig, '');上面的正则表达式只有一半,但问题是它从开头去掉了/和.asp之间的所有内容
如何使正则表达式成为惰性的,使其仅在最后一个/和.asp之间剥离?
任何帮助都将不胜感激!
发布于 2010-01-19 04:21:32
试试这个:
pagetype.replace(/\/[^\/]*\.asp/ig, '');我已经使用[^\/]组来表示任何不等于/的符号。
发布于 2010-01-19 04:21:19
/(.*)\/.*?\.asp/ig问题是正则表达式尽可能早地匹配-一种解决方案是在开头放一个贪婪的量词,这样它就会吞噬所有可能的早期匹配,而您得到最后一个。
我们使用一个捕获组来抓取那个比特,这样我们就可以保留它。
发布于 2010-01-19 04:38:27
一定要用这个,会去掉页面名称和扩展名:
(\w+)(\.\w+)(:[0-9]+)?(/.+)?https://stackoverflow.com/questions/2088911
复制相似问题