为什么这个正则表达式在Notepad ++中不起作用?

时间:2010-02-21 16:25:51

标签: regex notepad++

编辑:这是Notepad ++的正则表达式引擎的一些问题。正则表达式在Python中运行良好。

我在Notepad ++工作。我试图制作一个可以改变它的正则表达式(如果你很好奇,它是一个西班牙游戏指南):

  

* Acero:En la Estatua de Gabomba
  ** Absorbe PV de un enemigo

对此:

  

====阿塞罗====
  * En la Estatua de Gabomba
  * Absorbe PV de un enemigo

我想出了这个,但它与文字不符:

\*([^:]+): ([\w ]+)\n\*\*([^\n]+)

我错过了一些明显的东西吗?

3 个答案:

答案 0 :(得分:4)

似乎Notepad ++在正则表达式模式下找不到换行符。您必须在扩展模式下使用|替换换行符,在新字符串上应用正则表达式,然后用换行符替换|

答案 1 :(得分:3)

你的正则表达式是正确的。尝试分别搜索\*([^:]+): ([\w ]+)\*\*([^\n]+),它将匹配。

只是Notepad ++不支持多行正则表达式(因为Scintilla没有)。请注意,有两个不同的搜索对话框:Ctrl + F显示内置对话框,Ctrl + R显示TextFX的对话框,其中包含更多选项。但TextFX也不支持多行搜索。

答案 2 :(得分:0)

作为上述2个答案的另一个选项,TextPad支持POSIX正则表达式语法(包括多行)。

要将TextPad设置为使用POSIX:配置 - >偏好 - >编辑 - > “使用POSIX正则表达式语法”

在使用TextPad多年后,我更喜欢Notepad ++,但我总是将TextPad保留在我的系统上,用于多行正则表达式以及其他一些很好用的东西。