在 Notepad++ 中查找并替换 ^ 和 ~ 之间的文本

在 Notepad++ 中查找并替换 ^ 和 ~ 之间的文本

我有一个很大的文本文件,我想删除 ^ 符号和 ~ 符号之间的所有文本。这也需要跨行工作。

我尝试使用查找框进行常规查找和替换,^*~而替换框中没有任何内容,但却找到 0 个结果。

答案1

常规的查找和替换。如果您使用 Notepad++ 6,您可以利用支持的新正则表达式引擎聚合酶链反应来源)。

Ctrl+H打开查找和替换对话框并执行以下操作:

Find what:          \^.*?~
Replace with:       
Wrap around:        checked
Regular expression: selected
. matches newline:  checked

现在按Alt+A来替换所有出现的条目。

正则表达式找什么组成如下:

  • \^是文字^
  • .*?是允许正则表达式匹配的最少字符数。
  • ~是文字~

答案2

你需要搜索\^.*?~并确认. 匹配换行符已启用:

在此处输入图片描述

这是因为它^具有特殊含义,它匹配行首。因此,我们需要用反斜杠对其进行转义\^

写入^*将匹配“连续的任意数量的行首”。.*匹配“任何字符”,但默认情况下它不匹配换行符。

答案3

尝试在查找部分使用此正则\^[^~]*~ 表达式来替换 ^ 和 ~ 之间的所有内容。

答案4

我有一个类似的 BETWEEN 替换要求,要求替换起始和结束字符。这来自 Outlook 电子邮件;数百名成员,我只想删除中间的所有内容<移除此处的文本>

原来的

First1 Last1 <[email protected]>; First2 Last2 <[email protected]>; First3 Last3 <[email protected]>; First4 Last4 <[email protected]>;

丹尼斯接近我的解决方案Find what: \^.*?~,但我必须改变我的文字字符,Find what: \<.*?>然后我必须删除第一个斜线Find what: <.*?>

更新 Find what: <.*?>;替换为空。

First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4

_

特殊字符*,,,,,,和,,,和$​​​​​​\+^()[]{}

Jerry Jeremiah 在此处描述了特殊字符https://stackoverflow.com/questions/37742519/notepad-wildcard

相关内容