有关在gedit中使用Regex搜索和替换的问题


10

我正在尝试使用gedit 的Regex搜索和替换插件

  1. 我想搜索重复2或3次的数字,所以我认为正则表达式是

    [0-9]\{2,3\}

    但是它不符合应有的目标,例如“ 22”。

  2. 我想确切地找到一个单词“ Notes”,所以我想

    \<Notes\> 

    但这也不起作用。

  3. 如何在任意三个数字“ [0-9] [0-9] [0-9]”的字符串前添加“#”?例如,“ 123”变为“#123”。

我想知道我是否犯了一些错误?我正在使用Basic Regex。插件中使用哪种正则表达式?我如何学习如何使用此插件?

Answers:


14

您无需转义正则表达式字符。您的第一个示例应该是:

[0-9]{2,3}

您的第二个示例应该是:

\bNote\b

对于第三种情况,您需要在前后匹配,然后使用反向引用:

(.*)([0-9]{3}.*)

替换为:

\1p\2

有关更多详细信息,请参见pydoc re,它会告诉您有关Python正则表达式语法或在线文档的信息


1

正如Kees所说,该插件使用Python的re模块语法,该语法在python站点上也有一个How-To

我还建议安装和使用kodos 安装kodos
它是python正则表达式测试器(自称为“调试器”),并包括快速参考正则表达式表以及re模块文档的较短版本。

regular-expression.info网站有正则表达式的元语言的不同实现的一个很好的对比。那里也有关于python风格的不错的部分。


@igbelacqua:谢谢!我想Kodos适用于KDE。如果我是正确的话,它可以安装在Gnome上,但是如果有其他一些Gnome本机软件,则不是最好的安装。你知道当地人是什么吗?
蒂姆(Tim)

嗯-Kodos确实具有Qt依赖关系,但我所看到的并不是KDE应用程序本身。我运行基本的Ubuntu(Gnome),但它并没有失调。另一个选择是kiki-这是python-wxgtk2.6应用程序-功能不全。我在找到科多之前就用过它。另一个不需要安装的测试器选项是pythonregex.com-它说它是受Kodos启发的,并且干净实用。这可能是最容易使用的三个。
belacqua 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.