我有一个 C++ 源文件,它使用 getMemberName() 形式的函数返回成员数据。相反,我想使用memberName()。
为了匹配需要更改的函数名称的实例,我使用以下正则表达式:
(\s+)get([A-Z])
问题是,我不知道如何用小写版本替换 \2 的实例。有人有什么想法吗,或者我应该写一个 Perl 脚本吗?
Thanks.
注意:此功能可通过 Notepad++ 使用\L\1\E
正则表达式替换模式。
-
\L
小写在
-
\2
用于匹配组 2
-
\E
小写字母关闭,以防万一您有任何进一步的替换。
See 新手解答和Notepad++手册的搜索页面了解详情。
像往常一样,还有另一种方法。这可以在 Notepad++ 中使用以下命令完成Python脚本插件,以及任何超出 notepad++ 可用范围的其他内容,而无需编写完整的插件。
首先,在Notepad++中安装PythonScript插件
插件 > 插件管理器 > 显示插件管理器
在“可用”选项卡中选中“Python 脚本”,然后单击“安装”,然后重新启动 Notepad++
然后设置Python脚本
插件 > Python 脚本 > 新脚本
给它一个有用的名字
添加以下代码
# Start a sequence of actions that is undone and redone as a unit. May be nested.
editor.beginUndoAction()
# trimFunctionName - for editor.pysearch
def trimFunctionName( index, match ):
editor.pyreplace( match.re, match.group(1) + match.group(2).lower(), 1, 0, index, index )
# I couldn't work out how to jam the .lower call into a editor.pyreplace()
# so used editor.pysearch() to check the regex and run a function with match
# information
editor.pysearch(r'(\s+)get([A-Z])', trimFunctionName )
# end the undo sequence
editor.endUndoAction()
然后运行脚本。
插件 > Python 脚本 > 脚本 > “yourScript”
您可以提示用户输入或执行许多其他操作闪烁与提供的对象
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)