我有一個C++源文件,它使用getMemberName()形式的函數返回成員數據。相反,我想使用memberName()。可記事本++將字符串匹配正則表達式轉換爲小寫?
爲了匹配需要更改函數名的情況下,我使用下面的正則表達式:
(\s+)get([A-Z])
的問題是,我不知道如何更換的\ 2實例與它的小寫版本。有沒有人有任何想法,或者我應該寫一個Perl腳本?
感謝,
扎克
我有一個C++源文件,它使用getMemberName()形式的函數返回成員數據。相反,我想使用memberName()。可記事本++將字符串匹配正則表達式轉換爲小寫?
爲了匹配需要更改函數名的情況下,我使用下面的正則表達式:
(\s+)get([A-Z])
的問題是,我不知道如何更換的\ 2實例與它的小寫版本。有沒有人有任何想法,或者我應該寫一個Perl腳本?
感謝,
扎克
注意:此功能通過\L\1\E
正則表達式替換模式在Notepad ++中可用。
\L
\2
小寫用於匹配小寫脫落基團2\E
,如果你有任何進一步的替換。見Novices answer和notepad++ wiki for details
,沒有像往常一樣,另一種方式。這可以在Notepad ++中使用PythonScript插件以及任何超出記事本++可用範圍的內容來完成,而無需編寫完整的插件。
首先,安裝在記事本++
插件>插件管理器>顯示插件管理器
檢查「的Python腳本」,在「可用」選項卡,然後單擊「安裝」,然後重新啓動記事本++
的PythonScript插件
然後設置一個Python腳本
PL ugins>的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」
,您可以提示用戶輸入或做其他事情無數以scintilla與所提供的對象
是的,你應該寫一個Perl腳本。內置的正則表達式引擎功能不足以處理這樣的事情。
這是一個非常基本的HTML標籤轉換器(小寫):
左鍵點擊搜索 - >更換(或CTRL H)。
輸入相應的字段如下:
查找內容:<([^>]+?)>
替換:<\L\1>
左鍵點擊全部替換。
完成
謝謝,我需要更改爲大寫,並使用\ U \ 1 – appmaster 2015-03-17 20:08:30
雖然這可以工作,就應該不再是公認的答案,因爲有一個內置的設備在N ++的發現改變的情況下/替換功能。 (請參閱下面的新手答案,雖然這可能不是最初發布這個答案時可能的。) – HitScan 2015-11-16 18:55:44
維基的歷史可以追溯到那個時候,所以它可能已經存在。我已經添加了Novices詳細信息的更新。 – Matt 2015-11-17 06:30:41