Regex在Notepad++中获取资源密钥



我需要帮助来创建一个正则表达式来清理aspx页面条目。

....
Line 24: <asp:Button ID="id1" runat="server" meta:resourceKey="ButtonTxt"/>
Line 35: <asp:Label ID="id2" runat="server" meta:resourceKey="Name"></asp:Label>
Line 47: <asp:Label ID="id3" runat="server" meta:resourcekey="Other_Name"></asp:Label>
....

如何编写正则表达式来只提取meta:resourceKey="ButtonTxt"meta:resourceKey="Name"meta:resourcekey="Other_Name"等等。基本上我只需要提取meta:resourcekey="xxxx"字符串。

我尝试了.*?(meta:.*?").*,但这只会持续到第一个"

您使用?限定符将*-量词置于"之前,使其不贪婪(或"懒惰"(。这意味着它将尽可能少地与给定的模式匹配。这就是为什么这个量词只匹配到第一个"。其余部分由您的比赛组后面的.*覆盖。

如果删除?,则*量词匹配贪婪(这是默认行为(。贪婪的量词将尽可能多地匹配,在您的情况下是第二个"

您可以在此处看到差异:https://regex101.com/r/IgA15K/1

还有一些关于这个概念的文档:https://learn.microsoft.com/en-us/dotnet/standard/base-types/quantifiers-in-regular-expressions#greedy-和惰性量词

最新更新