在 Notepad++ 中,您可以使用名为 PythonScript 的插件来完成这项工作。如果您安装插件,请创建一个新脚本,如下所示:

然后您可以使用以下脚本,替换您认为合适的正则表达式和函数变量:
import re
#change these
regex = r"[a-z]+sym"
function = str.upper
def perLine(line, num, total):
for match in re.finditer(regex, line):
if match:
s, e = match.start(), match.end()
line = line[:s] + function(line[s:e]) + line[e:]
editor.replaceWholeLine(num, line)
editor.forEachLine(perLine)
这个特定示例通过查找特定行中的所有匹配项来工作,然后在每个匹配项中应用该函数。如果您需要多行支持,Python 脚本“Conext-Help”解释了所有提供的函数,包括在“编辑器”对象下定义的 pymlsearch/pymlreplace 函数。
当您准备好运行脚本时,首先转到您希望它运行的文件,然后转到 Python 脚本菜单中的“脚本 >”并运行您的脚本。
注意:虽然如果你搞砸了,你可能可以使用 notepad++ 的撤消功能,但最好先将文本放在另一个文件中以验证它是否有效。
PS您可以使用notepad ++的内置查找对话框“查找”和“标记”每个出现的正则表达式,如果您可以全部选择它们,您可以使用TextFX的“Characters->UPPER CASE”功能来解决这个特定问题,但我'不确定如何从标记或找到的文本转到选定的文本。但是,我想我会发布这个,以防有人这样做......
编辑:在 Notepad++ 6.0 或更高版本中,您可以使用“PCRE(Perl 兼容正则表达式)搜索/替换”(来源: http: //sourceforge.net/apps/mediawiki/notepad-plus/ ?title=Regular_Expressions )所以这可以已使用(. )([A-z])(.+)
带有替换参数的正则表达式(如\1\U\2\3
.