【问题标题】:Regex: Extract parts of url before and after last period正则表达式:在最后一个时期之前和之后提取部分 url
【发布时间】:2011-07-02 19:46:55
【问题描述】:

我有一个网址 (http://www.something.com/subdirectory/image.jpg),我想使用正则表达式将网址分成两部分:

1) 在最后一个句点之前捕获 url 的第一部分 (http://www.something.com/subdirectory/image)

2) 在最后一个句点之后捕获url的最后一部分(jpg)

文件扩展名并不总是 jpg。

到目前为止,我已经想出了一些东西,但它是在第一个句点之前而不是最后一个句点之前捕获字符串:

/([^.]*)\.(.*)/

编辑:这就是我想要做的。通过在图片名称的末尾添加“_On”来替换当前的 src。

$(this).attr("src").replace(/(.*)\.([^.]+)$/, "$1_On.$2")

提前感谢您的任何帮助, 乙

【问题讨论】:

  • 仍在努力让它发挥作用......

标签: regex url


【解决方案1】:

试试

/(.*)\.(.+)/

我认为它会起作用。

【讨论】:

  • 仍然在第一期拆分网址。
  • 实际上,它现在在两个时期分开。
  • 将此正则表达式用作匹配函数,而不是作为搜索函数。
  • 这很好用,我的代码中有一些其他问题。一旦我解决了一切都井井有条的问题。感谢您的帮助 hsz
【解决方案2】:

你可以匹配所有不是句号的字符,直到它到达行尾:

/(.*)\.([^.]+)$/

【讨论】:

  • 感谢 veiset,这也捕获了任何时期的出现。我将添加到我原来的问题更清楚一点...
猜你喜欢
  • 2020-01-17
  • 2023-03-03
  • 2018-08-18
  • 2015-06-15
  • 2017-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多