使用Visual Studio,在一个大型ASP.NET项目中,我需要找到所有HTML类为“info”的图像。但是,可以使用以下方法应用这些图像:
<img alt="..." title="..." class="info" />
<asp:Image runat="server" ImageUrl="..." CssClass="info" />
Dim s = "<img .... class=""info"" />"
(注意双引号)其他障碍是图像可能有多个类别,例如<img ... class="foo info bar" />
,因此搜索class="info"
不起作用。此外,其他HTML元素也使用此类,但应忽略,例如<p class="info">Foo</p>
。
我需要一个用于搜索的正则表达式,它提供以下逻辑:
img
或asp:Image
(不区分大小写)class
或CssClass
(不区分大小写)info
(区分大小写)答案 0 :(得分:0)
事实证明问题是Visual Studio不接受逐字粘贴的正则表达式。
我在网上做过的测试(see working example)
/(img|asp:Image)(?=.*class\b)(?=.*\binfo\b).*$/igm
但是,这在Visual Studio中找不到任何内容。我没有意识到我需要删除开始和结束字符。 Visual Studio需要此修订版,它可以正常工作:
(img|asp:Image)(?=.*class\b)(?=.*\binfo\b).*$
归功于this answer,这是朝着正确方向发展的领先优势。