我看了,我得到的最接近的答案是capturing filename from url without extension
所以我有这个cshtml:
<script src="@Url.Content("~/Scripts/javascript.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/javascript2.js")" type="text/javascript"></script>
我尝试使用这个正则表达式:
(?!.+[Ss]cripts+\/)\/+.+\.js
然而,使用Rad regex designer我得到了这个结果
我怎样才能抓住这个
然后我将使用替换表达式
$&.min.
得出最终结果
<script src="@Url.Content("~/Scripts/javascript2.min.js")" type="text/javascript"></script>
提前感谢您的帮助。
答案 0 :(得分:0)
添加捕获组应该可以实现您的目标:
((?!.+[Ss]cripts+\/)\/+.+)\.js
这仍然会在开头包含/
,但这应该没问题。
答案 1 :(得分:0)
只想添加以下组合:
所以我有一个带有一些脚本标签的cshtml文件:
<script src="@Url.Content("~/Scripts/javascript.js")" type="text/javascript"></script>
然后我使用正则表达式替换使用MSbuild目标:
<MSBuild.ExtensionPack.FileSystem.File TaskAction="Replace" RegexPattern="((?!.+[Ss]cripts+\/)\/+.+)\.js" Replacement="$1.min.js" Files="@(CSHTML)" />
然后就是替换表达式$1.min.js
导致取代了
<script src="@Url.Content("~/Scripts/javascript.min.js")" type="text/javascript"></script>