如何解决Vim / Perl正则表达式标记匹配问题
| 我有看起来像这样的数据:[Shift]);[Ctrl][Ctrl+S][Left mouse-click][Backspace][Ctrl]
我想找到所有带有鼠标单词的[。*]标签。记住非贪婪的说明符,我在Vim中尝试了这个:\\[.\\{-}mouse.\\{-}\\]
,但这产生了这个结果,
[Shift]);[Ctrl][Ctrl+S][Left mouse-click]
不仅仅是想要的,
[Left mouse-click]
有任何想法吗?最终,我也需要Perl语法中的这种模式,因此,如果有人在Perl中有解决方案,也将不胜感激。
解决方法
\\[[^]]*mouse[^[]*\\]
也就是说,匹配一个文字的右括号,然后匹配任意数量的不是右括号的字符,然后匹配“ mouse”,然后再匹配任意数量的非右括号,最后匹配一个文字的右括号。在Perl中应该相同。
, 您可以使用以下正则表达式:
\\[[^\\]]*mouse.*?\\]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。