使用 FInd/Replace 重新排序 Visual Studio 中的属性
Use FInd/Replace to re-order attributes in Visual Studio
在一个旧的网络表单应用程序的数百个页面中,有 GridViews 在 HTML 中声明为
<asp:GridView GridLines="None" ..... >
其中 每个 GridView 标签以 <asp:GridView GridLines="None"
开头
这是在黑暗中拍摄的,但我想知道是否可以在搜索和替换中使用 RegEx 将网格线 属性 移动到标签的末尾?例如,
<asp:GridView GridLines="None" .....>
会变成
<asp:GridView ..... GridLines="None">
.....
表示可能存在的许多其他属性,它们未按任何特定顺序声明。
更新
一些 GridView 控件使用资源文件数据来允许多语言输出。此标记已损坏,那么 RegEx 可以解决这个问题吗?
<asp:GridView GridLines="None" ..... EmptyDataText="<%$ Resources: Reports, NoResultsFound %>" .....>
是的,你可以。要解决>
和<
的非序列化问题,可以使用
GridLines="None"([^<>]*(?>(?>(?'open'<)[^<>]*)+(?>(?'-open'>)[^<>]*)+)+(?(open)(?!)))
替换:
GridLines="None"
查看 demo here(转到底部的 Context
选项卡查看替换结果)。
在一个旧的网络表单应用程序的数百个页面中,有 GridViews 在 HTML 中声明为
<asp:GridView GridLines="None" ..... >
其中 每个 GridView 标签以 <asp:GridView GridLines="None"
这是在黑暗中拍摄的,但我想知道是否可以在搜索和替换中使用 RegEx 将网格线 属性 移动到标签的末尾?例如,
<asp:GridView GridLines="None" .....>
会变成
<asp:GridView ..... GridLines="None">
.....
表示可能存在的许多其他属性,它们未按任何特定顺序声明。
更新
一些 GridView 控件使用资源文件数据来允许多语言输出。此标记已损坏,那么 RegEx 可以解决这个问题吗?
<asp:GridView GridLines="None" ..... EmptyDataText="<%$ Resources: Reports, NoResultsFound %>" .....>
是的,你可以。要解决>
和<
的非序列化问题,可以使用
GridLines="None"([^<>]*(?>(?>(?'open'<)[^<>]*)+(?>(?'-open'>)[^<>]*)+)+(?(open)(?!)))
替换:
GridLines="None"
查看 demo here(转到底部的 Context
选项卡查看替换结果)。