如何在Notepad++中执行非贪婪正则表达式查询? [英] How can I do a non greedy regex query in notepad++?
本文介绍了如何在Notepad++中执行非贪婪正则表达式查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在用LaTeX写论文,不小心写了cite[]
而不是cite{}
。
我可以手动浏览整个文档,但我想知道如何在Notepad++中使用正则表达式完成此操作。
我最初尝试了\cite[(.*)]
,并将其替换为cite{1}
,这适用于诸如
cite[hello world] blah blah
但是,如果一个段落中有两个或两个以上的引用,则它与所有引用都匹配。
例如
cite[aaa]cite[bbb] something here cite[ccc]
匹配整行
如何获得非贪婪匹配,以便将上述行作为3个单独的匹配进行匹配 并且替换命令的结果应该会给我cite{aaa}cite{bbb} something here cite{ccc}
推荐答案
使用不情愿(也称为非贪婪)表达式:
\cite[(.*?)]
请参阅live demo。
添加问号将.*
从贪婪(默认值)更改为不情愿,因此它将使用尽可能少的来查找匹配项,即它不会跳过与一个词的开始匹配的多个搜索词,一直跳到另一个词的结尾。
ie使用.*
匹配将是
foo cite[aaa]cite[bbb] something here cite[ccc] bar
^----------------------1---------------------^
但对于.*?
,匹配项将为:
foo cite[aaa]cite[bbb] something here cite[ccc] bar
^---1----^^----------------2-----------------^
次要注意:]
不需要转义。
这篇关于如何在Notepad++中执行非贪婪正则表达式查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文