![在 Notepad++ 中使用空格和文本搜索时,如何表达问号(?)?](https://linux22.com/image/1611679/%E5%9C%A8%20Notepad%2B%2B%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%A9%BA%E6%A0%BC%E5%92%8C%E6%96%87%E6%9C%AC%E6%90%9C%E7%B4%A2%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E8%A1%A8%E8%BE%BE%E9%97%AE%E5%8F%B7%EF%BC%88%EF%BC%9F%EF%BC%89%EF%BC%9F.png)
例子
那太好了,不是吗?是的
我想要寻找一个问号,后面跟着一个空间和一个大写字母。然后代替它与:
那太好了,不是吗?
是的
我尝试过各种方法,但都无济于事。
- 寻找:
? ([A-Z])
- 代替:
?\r\r
答案1
如果不捕获组,效率会更高。
- Ctrl+H
- 找什么:
\?\h+\K(?=[A-Z])
- 替换为:
\n
# 您可以使用\r
或\r\n
取决于平台 - 查看 相符
- 查看 环绕
- 查看 正则表达式
- Replace all
解释:
\? # question mark, have to be escaped
\h+ # 1 or more horizontal spaces
\K # forget all we have seen until this position
(?=[A-Z]) # positive lookahead, make sure we have a capital after
屏幕截图(之前):
屏幕截图(之后):
答案2
尝试:
(启用“匹配大小写”)
(寻找)\? ([A-Z].*)
(代替)\? \n\1
(注意:\
用于转义特殊控制字符)
\?
:字符串“?”后跟一个空格
(
并且)
括号创建了一个团体可以参考
.
表示任意字符,并且.*
表示任意字符零次或多次
\1
引用第一个组引用(括号)