在一个旧的webforms应用程序的数百个页面中,有一些以HTML格式声明的GridViews
<asp:GridView GridLines="None" ..... >
其中每个 GridView标记都以<asp:GridView GridLines="None"
这是一个黑暗的镜头,但我想知道是否可以使用搜索和放大器中的RegEx将GridLines属性移动到标签的末尾。更换?例如,
<asp:GridView GridLines="None" .....>
会变成
<asp:GridView ..... GridLines="None">
.....
表示可以存在的许多其他属性,这些属性不以任何特定顺序声明。
某些GridView控件使用资源文件数据来允许多语言输出。此标记已损坏,RegEx可以解释该吗?
<asp:GridView GridLines="None" ..... EmptyDataText="<%$ Resources: Reports, NoResultsFound %>" .....>
答案 0 :(得分:1)
是的,你可以。要解决非序列化>
和<
的问题,您可以使用
GridLines="None"([^<>]*(?>(?>(?'open'<)[^<>]*)+(?>(?'-open'>)[^<>]*)+)+(?(open)(?!)))
的更换:
$1 GridLines="None"
请参阅demo here(转到底部的Context
标签查看替换结果。)