这是我的问题:在 .txt 文件中,我需要查找和替换数千个如下语法实例:
(参见(a053007djfgspwdf))
或者
(参见(a053007djfgspwdf)和(a54134xsedgeg))
或者
(参见 (a053007djfgspwdf)、(a9554xsdfgsdfg) 和 (a54134xsedgeg))
一开始有很多变化(看到和结局))文本字符串。可以使用正则表达式在 Notepad++ 中设置吗?如果可以,我该怎么做?谢谢!
答案1
抱歉各位,我只是觉得其他答案很复杂。(无意冒犯原始发帖者。)
由于这总是显示为第一个搜索结果,因此我将把它添加进去:
- 打开搜索/替换对话框(CTRL+F然后是替换选项卡)
- 勾选底部的“正则表达式”
- 使用 .* 作为通配符
例如,我想删除所有 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))
答案3
尝试这种模式:\(see \(a(.*)\)
并确保未选中“匹配换行符”并且选中了“环绕”。
答案4
最正确正则表达式你需要的是:
\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)
例如:
在选择在当前文档中查找全部,结果将是:
你可以简单地使用代替根据您的需要。
如果您还想a
在正则表达式中包含,则可以使用:
\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)