在 Notepad++ 中使用通配符搜索/替换

在 Notepad++ 中使用通配符搜索/替换

这是我的问题:在 .txt 文件中,我需要查找和替换数千个如下语法实例:

(参见(a053007djfgspwdf))

或者

(参见(a053007djfgspwdf)和(a54134xsedgeg))

或者

(参见 (a053007djfgspwdf)、(a9554xsdfgsdfg) 和 (a54134xsedgeg))

一开始有很多变化(看到和结局))文本字符串。可以使用正则表达式在 Notepad++ 中设置吗?如果可以,我该怎么做?谢谢!

答案1

抱歉各位,我只是觉得其他答案很复杂。(无意冒犯原始发帖者。)

由于这总是显示为第一个搜索结果,因此我将把它添加进去:

  1. 打开搜索/替换对话框(CTRL+F然后是替换选项卡)
  2. 勾选底部的“正则表达式”
  3. 使用 .* 作为通配符

例如,我想删除所有 abp="1314"、abp="1313"、abp="1312" 等实例(基本上这些数字都是不同的,这就是为什么你需要使用通配符来摆脱它们)。

在替换对话框中:

查找内容:abp=".*"
替换为:

(您正在替换这些引号中的任何内容,但没有任何内容可以将其删除)

来源:https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/

答案2

是的,可以!Notepad++ 有一个 RegEx 搜索模式,您可以选择该模式来满足您的所有 RegEx 替换需求。

以下示例是对(see (a...))除换行符之外的所有内容的基本替换。您可能需要修改 RegEx 或编写自己的 RegEx 以满足您的需求。以下是一个帮助您进行实验的好地方。

正则表达式:\(see \(a.+\)\)

匹配的字符串:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))


用替换项替换(参见(a...))

答案3

尝试这种模式:\(see \(a(.*)\)并确保未选中“匹配换行符”并且选中了“环绕”。

答案4

最正确正则表达式你需要的是:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

例如:

在此处输入图片描述

在选择在当前文档中查找全部,结果将是:

在此处输入图片描述

你可以简单地使用代替根据您的需要。

如果您还想a在正则表达式中包含,则可以使用:

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)

相关内容