-4

我需要一个正则表达式,它可以找到下面的所有字符串,用我自己的替换 [path],并从文件名中删除 –[guid](或“.png”之前的 33 个字符)

格式:url(/[路径]/[文件名]-[guid].png)

例子:

url(/assets/application/facebook-button-dc8bbeecddef2c5cb3fb74e01177a632.png)
url(/assets/chart/tooltip/arrow-875223c23a34df0bdbc4a500b5dfb5f6.png)

并将其替换为:

格式:url(/Images/Finesse/[源文件名].png)

url(/Images/Finesse/facebook-button.png
url(/Images/Finesse/arrow.png)

不应删除文件名中的破折号。我们可以假设每个所需的字符串都以“url(/assets/”开头并以“.png)”结尾我们不能假设“.png)”将是行尾,也不能假设“url”将是行首。

如果重要,该表达式将在 VS2012 中使用。

谢谢

编辑 - - -

对不起,我有这样的事情

^(url\(/assets)+.+(\.png\))$

或类似的东西

^(url\(/assets)+.+(-)+.+(\.png\))$

开始找到字符串......它有点。我想问题应该是关于如何在 .png 前面选择特定数量的字符,也许还有关于替换的问题。感谢您抽出一些时间发表评论。

4

1 回答 1

1
s@^/([^/]+/)+(.+)-[^-]+(\.[^.]+)\)$@/Images/Finesse/$2$3)@

请尽快将我的支票寄到我的邮政信箱。我不应该这样做,你应该学会自己正则表达式它是一个令人难以置信的工具,并且在有能力的手中非常强大,但我不禁要解决一个有趣的问题!

http://www.myregextester.com/?r=1c59cda1

于 2013-08-06T20:10:50.433 回答