【发布时间】:2012-09-28 16:18:19
【问题描述】:
我正在将我们的 MVC3 项目转换为使用 T4MVC。而且我想替换 java-script 包含也可以与 T4MVC 一起使用。所以我需要更换
"~/Scripts/DataTables/TableTools/TableTools.min.js"
"~/Scripts/jquery-ui-1.8.24.min.js"
进入
Scripts.DataTables.TableTools.TableTools_min_js
Scripts.jquery_ui_1_8_24_min_js
我目前正在使用 Notepad++ 作为正则表达式工具,它使用的是 POSIX 正则表达式。 我可以找到脚本名称并将其替换为这些正则表达式:
查找:\("~/Scripts/(.*)"\)
替换为\(Scripts.\1\)
但我不知道如何将文件名中的点和破折号替换为下划线并将正斜杠替换为点。
我可以用这个检查 js-filename 的名称中是否有点或破折号
\("~/Scripts/(?=\.*)(?=\-*).*"\)
但是如何替换组内的组?
需要在组内进行非贪婪替换,并且这些替换按顺序进行,因此转换为点的正斜杠之后不会转换为下划线。
这是一个非关键问题,我已经手动完成了所有替换,但我认为我对正则表达式很好,所以这个问题困扰着我!!
附言首选工具是 Notepad++,但任何 POSIX 正则表达式解决方案都可以 -)
p.p.s. Here you can get a sample 要替换的东西 And here is the the target text
【问题讨论】:
-
您的目标是将一些文本复制到编辑器,让它进行替换,然后再复制回来吗?
-
是的,差不多。从某处的 Visual Studio 复制,进行替换,复制回 VS。我确定 VS 无法处理,所以必须在其他地方完成。
-
不使用您正在使用的 VS,但 PowerGUI 控制台使您可以在 Visual Studio 中访问 Powershell 以操作编辑器环境,因此您可以在 VS 中获得漂亮的正则表达式外观。可能值得一看。
-
哦,太好了!我试试看!我正在使用VS2012。内置的正则表达式搜索替换非常奇怪且不合规。
标签: regex notepad++ replace t4mvc