编辑:这是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]+)
我错过了一些明显的东西吗?
答案 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保留在我的系统上,用于多行正则表达式以及其他一些很好用的东西。