如何解决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://docs.microsoft.com/en-us/dotnet/standard/base-types/quantifiers-in-regular-expressions#greedy-and-lazy-quantifiers
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。