我的数据如下:
[Shift]);[Ctrl][Ctrl+S][Left mouse-click][Backspace][Ctrl]
我想找到所有 [。*] 标签,其中包含鼠标字样。记住非贪婪的说明符,我在 Vim :\[.\{-}mouse.\{-}\]
中尝试了这个,但是这产生了这个结果,
[Shift]);[Ctrl][Ctrl+S][Left mouse-click]
而不仅仅是想要的,
[Left mouse-click]
有什么想法吗?最终我在Perl语法中也需要这种模式,所以如果有人在Perl中有一个解决方案,也会受到赞赏。
答案 0 :(得分:4)
\[[^]]*mouse[^[]*\]
也就是说,匹配一个文字左括号,然后是任何数字的非关闭括号的字符,然后是“鼠标”,然后是任意数量的非开括号,最后是一个文字的右括号。 Perl应该是一样的。
答案 1 :(得分:3)
您可以使用以下正则表达式:
\[[^\]]*mouse.*?\]