【问题标题】:need some regex help javascript需要一些正则表达式帮助 javascript
【发布时间】:2010-01-18 20:18:38
【问题描述】:

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

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

我需要一个正则表达式从字符串中删除 /pagename.asp

pagetype.replace(/\/.*?\.asp/ig, '');

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

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

任何帮助将不胜感激!

【问题讨论】:

  • 仅供参考 - 您可能想要一份 RegexBuddy:regexbuddy.com 它将您的正则表达式转换为简单的英语,并通过向您展示您的选项及其含义来帮助您构建新的表达式。

标签: javascript regex


【解决方案1】:

试试这个:

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

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

【讨论】:

    【解决方案2】:
    /(.*)\/.*?\.asp/ig
    

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

    我们使用一个捕获组来抓取该位,以便我们可以保留它。

    【讨论】:

      【解决方案3】:

      肯定用这个,会去掉页面名称和扩展名:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-30
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-29
        • 1970-01-01
        相关资源
        最近更新 更多