使用正则表达式和VS替换选项更新Asp.NET项目中的href

时间:2014-12-29 11:44:18

标签: c# asp.net regex visual-studio-2013

我有关于Asp.NET Web窗体的项目。

我需要在Views上更新hrefs。这个hrefs用于下载,因此点击用户可以保存文档,在我的案例.pdf文件中。所以我需要更改href-Links仅用于目标pdf文件

示例:现在href采用下一种格式:

href="/about/news/downloads/Ingram%20Announcement_5.31.07.pdf"

需要什么:添加

<%=MyProject.Core.Common.PublisherConfigurationManager.Content%>

而不是href链接中的第一个/(可能的href链接没有/作为第一个符号。)

预期结果是:

href="<%=MyProject.Core.Common.PublisherConfigurationManager.Content%>
    about/news/downloads/Ingram%20Announcement_5.31.07.pdf"

如何使用 Ctrl + Shift + F 和Regex进行此更新?

在VS 2013中工作

2 个答案:

答案 0 :(得分:1)

这将匹配以“.pdf”结尾的任何href。

正则表达式: href\=\"/?([^"]+\.pdf)\"

请注意,这将与可选的/匹配,但不会捕获它。然后,它会找到至少1个不是引号的字符来关闭href并以.pdf"结尾。然后将没有前导/和文件名的路径存储在匹配位置$ 1

替换 href="<%=MyProject.Core.Common.PublisherConfigurationManager.Content%>$1"

如果要匹配除pdfs之外的其他扩展,您只需向正则表达式添加OR子句|即可。例如,href\=\"/?([^"]+\.(pdf|jpg))\"将匹配pdfs和jpgs。替换不需要改变

答案 1 :(得分:0)

ctrl + h 并在搜索字词中输入href="/,在中输入href="<%=MyProject.Core.Common.PublisherConfigurationManager.Content%>替换术语