我正在尝试使用正则表达式搜索和替换插件的 gedit。
我想搜索重复 2 或 3 次的数字,所以我认为正则表达式是
[0-9]\{2,3\}
但它与应有的目标不符,例如“22”。
我想找到一个单词“Notes”,所以我想它会是
\<Notes\>
但它也不起作用。
- 如何在任意三位数字的字符串“[0-9][0-9][0-9]”前面添加“#”?例如“123”变成“#123”。
我想知道我是否犯了什么错误?我正在使用基本正则表达式。插件中使用了什么类型的正则表达式?我如何才能学习如何使用这个插件?
答案1
您不需要转义正则表达式字符。您的第一个例子应该是:
[0-9]{2,3}
你的第二个例子应该是:
\bNote\b
对于第三种情况,您需要匹配前后内容,然后使用反向引用:
(.*)([0-9]{3}.*)
替换为:
\1p\2
有关更多详细信息,请参阅pydoc re
将向您介绍 Python 正则表达式语法,或在线文档。
答案2
正如 Kees 所说,该插件使用 Python 的re
模块语法,它还具有如何在 python 网站上。
我还建议安装并试用科多兽 。
它是一个 Python 正则表达式测试器(它称自己为“调试器”),并包含一个快速参考正则表达式表以及re
模块文档的简短版本。
这regular-expression.info 站点对正则表达式元语言的不同实现进行了很好的比较。其中还有一节关于 Python 风格的内容。