使用 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 选项卡查看替换结果)。