使用Kate编辑器查找与正则表达式匹配的所有模式

问题描述:

我经常使用Kate编辑器。在凯特中使用正则表达式可以找到模式。例如,表达\d{3}会发现连续3个数字中所有出现的以下文字:使用Kate编辑器查找与正则表达式匹配的所有模式

asdfsdf 234 dffd 234 f 
d 182 sdsdas 182 sfdds 
fdsfk 324 d 890 dfsdfd 

是否有可能以某种方式提取匹配的字符串?或者干脆说:只有使用凯特,我如何获得以下数字?这是可能的简单方式或可能与插件?我知道我可以例如使用蟒蛇re.findall()方法,但这不是我想要的。

234 
234 
182 
182 
324 
890 
+1

用'$ 0 \ n'替换'\ d {3}',然后用'$ 1'替换'(\ d {3})| .' –

+0

这给了我很多行,比如$ 1 $ 1 $ 1 $ 1 $ 1 $ 1什么? – Ohumeronen

+0

也许反向引用写成'\ 1'? –

我2- stepapproach在于2个步骤:

  • 添加一个新行后3位与(\d{3}) - >\1\n替换(其中\1指捕获值),然后

  • 删除不是三位数起点的任何字符,并用(\d{3})|. - >\1替换,重新插入用捕获组捕获的3位数字。

(\d{3})|.模式匹配,并捕获3位或只是比匹配换行符其他任何字符,和\1是反向引用与(\d{3})捕获的值。

可能会出现一些空行,但通常可以使用内置功能删除它们。

+0

感谢您的解释。我更新了你的帖子,因为它在\ 1而不是\ 0。 – Ohumeronen

+1

现在我也明白了。这很酷!谢谢! :-) – Ohumeronen