regex - 正则表达式回溯匹配正确,但在 Notepad++ 中不替换
问题描述
我的目标是当〔〕以制表符和其他字符开头时,删除〔〕中的所有文本和单个尾随空格。
我在记事本++中使用以下正则表达式:
(?<=\t.)(〔.*?〕 )
目标字符串如下(●前有制表符):
●〔nope〕 howdy!
●〔〕 howdy!
●(nope) howdy!
〔nope〕 howdy!
当我使用在线正则表达式测试器时,上面的第一行和第二行是匹配的(不是第三行或第四行),这就是我想要的。但是,在记事本++中,当我将搜索模式更改为正则表达式并使用上述正则表达式的搜索/替换功能时,它正确匹配字符串但没有被替换(替换字符串为空白)。也就是说,当我按下查找按钮“〔nope】”时匹配正确,但当我按下替换时,匹配的字符串仍然存在。
是我的正则表达式语法错误,还是 Notepad++ 有问题?我使用的版本是 7.5.9。
解决方案
推荐阅读
- c++ - 如果 C++ 禁止你记忆某些类型,你应该如何移动缓冲区?
- c - gcc 编译器中的“未定义引用”
- php - 如何从多个网站中提取元标记?
- mysql - 从多个条目的日期跨度中识别日期
- ssh - 安装 BigBlueButton 2.3-dev 后,我无法通过 SSH 连接。为什么?
- node.js - Go Client 使用 WebSocket 连接到 NodeJS express/http 服务器
- sqlalchemy - 如何使用 SQLAlchemy 插入带有 ON CONFLICT ... DO 子句的许多值?
- node.js - 因拆解不当而导致 Jest 测试泄漏
- reactjs - 单击预览图标时onPreview不起作用-Antd
- asp.net-mvc - MVC 报告查看器问题 400 错误请求