首页 > 解决方案 > 正则表达式回溯匹配正确,但在 Notepad++ 中不替换

问题描述

我的目标是当〔〕以制表符和其他字符开头时,删除〔〕中的所有文本和单个尾随空格。

我在记事本++中使用以下正则表达式:

(?<=\t.)(〔.*?〕 )

目标字符串如下(●前有制表符):

    ●〔nope〕 howdy!
    ●〔〕 howdy!
    ●(nope) howdy!
    〔nope〕 howdy!

当我使用在线正则表达式测试器时,上面的第一行和第二行是匹配的(不是第三行或第四行),这就是我想要的。但是,在记事本++中,当我将搜索模式更改为正则表达式并使用上述正则表达式的搜索/替换功能时,它正确匹配字符串但没有被替换(替换字符串为空白)。也就是说,当我按下查找按钮“〔nope】”时匹配正确,但当我按下替换时,匹配的字符串仍然存在。

是我的正则表达式语法错误,还是 Notepad++ 有问题?我使用的版本是 7.5.9。

标签: regexnotepad++

解决方案


推荐阅读