【问题标题】:Replace relative path替换相对路径
【发布时间】:2012-02-15 00:16:57
【问题描述】:

我需要去除相对 URL 的目录级别,并将斜杠替换为下划线。 其中一些相对 URL 包含上一级或两级(./ 或 ../../)。现在我正在使用:

$('area, a').click(function() { 
      cleanPath = $(this).attr('href').replace(/'..'/g, "").replace(/\//g, "_") );
});

但这不起作用。这里发布了类似的问题,但似乎没有解决我的具体问题。显然,我不是 RegEx 专家。

【问题讨论】:

  • 你能说得更具体点吗?是否要将它们更改为完整的 URL?

标签: javascript jquery regex relative-path


【解决方案1】:

您的正则表达式/'..'/g 查找所有匹配的撇号,紧接着是任何字符,紧接着是任何字符,然后是另一个撇号。这是因为. 匹配除换行符以外的任何字符(除非启用了多行模式)。

试试:

/\.\./g

/[.]{2}/g

通过添加反斜杠,您的正则表达式将 . 视为文字 .(即句点)。

通过将. 包含在[.] 中,正则表达式还将. 视为文字.{2} 恰好是2 次出现,背靠背)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 2017-08-01
    • 2011-11-07
    • 2011-05-02
    相关资源
    最近更新 更多