關於notepad++正規表示式替換字串
下面由notepad教學欄位介紹notepad 正規表示式字串的方法,希望對需要的朋友有幫助!
則表達式是一個查詢的字串,它包含一般的字符和一些特殊的字符,特殊字符可以擴展查找字符串的能力,正則表達式在尋找和取代字串的作用不可忽視,它能很好提高工作效率。
EditPlus的查找,替換,檔案中尋找支援以下的正規表示式:
表达式 说明 /t 制表符. /n 新行. . 匹配任意字符. | 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc". [] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字. [^] 匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a" 和 "b" 以外的字符. "[^0-9]" 匹配任意非数字字符. * 其左边的字符被匹配任意次(0次,或者多次). 例如 "be*" 匹配 "b", "be" 或者 "bee". + 其左边的字符被匹配至少一次(1次,或者多次). 例如 "be+" 匹配 "be" 或者 "bee" 但是不匹配 "b". ? 其左边的字符被匹配0次或者1次. 例如 "be?" 匹配 "b" 或者 "be" 但是不匹配 "bee". ^ 其右边的表达式被匹配在一行的开始. 例如 "^A" 仅仅匹配以 "A" 开头的行. $ 其左边的表达式被匹配在一行的结尾. 例如 "e$" 仅仅匹配以 "e" 结尾的行. () 影响表达式匹配的顺序,并且用作表达式的分组标记. / 转义字符. 如果你要使用 "/" 本身, 则应该使用 "//".
範例:
原始串 str[1]abc[991]; str[2]abc[992]; str[11]abc[993]; str[22]abc[994]; str[111]abc[995]; str[222]abc[996]; str[1111]abc[997]; str[2222]abc[999];
目标串: abc[1]; abc[2]; abc[11]; abc[22]; abc[111]; abc[222]; abc[1111]; abc[2222];
處理:
尋找字串:str /[([0-9] )/]abc/[[0-9] /]
替換串:abc[/1]
一、包含「hello word」的行
^.*hello word.*$
二、以「hello word」開始的行
^hello word.*$
三、以「hello word」結尾的行
.*hello word$
替換為:
【1】正規表示式應用-替換指定內容到行尾
原文如下面兩行
abc aaaaa
123 abc 444
希望每次遇見「abc」,則替換「abc」以及其後到行尾的內容為「abc efg」
即上面的文字最終替換為:
abc efg
123 abc efg
解決:
# ① 在取代對話框,找出內容輸入「abc.*」
② 同時勾選「正規表示式」複選框,然後點選「全部取代」按鈕
其中,符號的意思如下:
“ .” =符合任意字元
“*” =符合0次或更多
# 注意:其實就是正則表達式替換,這裡只是把一些曾經提出的問題加以整理,單純從正則表達式本身來說,就可以引申出成千上萬種特例。
【2】正規表示式應用-數位替換
希望把
asdadas123asdasdas456asdasdasd789asdasd
替換為:
asdadas[123]asdasdas[456]asdasdasd#789]dasdasdasd#d79]asdasdasd#ddasasdasdasd[d79]asdasdasd[d79]asdas對話方塊裡面,勾選「正規表示式」複選框;
在尋找內容裡面輸入“[0-9][0-9][0-9]”,不含引號
“替換為:」裡面輸入“[/0/1/2]”,不含引號
範圍為你所操作的範圍,然後選擇替換即可。
其實這也是正規表示式的使用特例,「[0-9]」表示符合0~9之間的任何特例,同樣「[a-z]」就表示符合a~z之間的任何特例
上面重複使用了“[0-9]”,表示連續出現的三個數字
“/0”代表第一個“[0-9]”對應的原型,“/1”代表第二個“[0-9]”對應的原型,依此類推
“[”、“]”為單純的字符,表示添加“[”或“]”,如果輸入“其它/0/1/2其它”,則替換結果為:
asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd
功能增強(by jiuk2k):
如果將查找內容“[0-9][0- 9][0-9]”改為“[0-9]*[0-9]”,對應1 或123 或12345 或…
大家根據需要定制
相關內容還有很多,可以自己參考正規表示式的語法仔細研究一下
【3】正規表示式應用-刪除每一行行尾的指定字元
因為這幾個字元在行中也是出現的,所以肯定不能用簡單的替換實作
例如
12345 1265345
# 2345
需要刪除每行結尾的「345」
這也算正規表示式的用法,其實仔細看正規表示式應該比較簡單,不過既然有這個問題提出,表示對正規表示式還得有個認識過程,解決方法如下
解決:
在取代對話方塊中,啟用「正規表示式」複選框
在尋找內容裡面輸入「345$」
這裡「$」表示從行尾匹配
如果從行首匹配,可以用「^」來實現,不過EditPlus 有另一個功能可以很簡單的刪除行首的字符字串
a. 選擇要操作的行
b. 編輯-格式-刪除行註釋
c. 在彈出對話框裡面輸入要清除的行首字符,確定
【4】正規表達式應用-取代有半角括號的多行
幾百個網頁中都有以下一段程式碼:
/n
在取代對話方塊啟用「正規表示式」選項,這時就可以完成取代了
【5】正規表示式應用程式-刪除空白行
啟動EditPlus,開啟待處理的文字類型檔案。
①、選擇「尋找」功能表的「取代」指令,彈出文字取代對話方塊。選取「正規表示式」複選框,表示我們要在尋找、取代中使用正規表示式。然後,選取“替換範圍” 中的“目前文件”,表示對目前文件操作。
②、點選「尋找內容」組合方塊右側的按鈕,出現下拉式選單。
③、下面的操作加入正規表示式,此表達式代表待尋找的空白行。 (技巧提示:空行僅包括空格符、製表符、回車符,且必須以這三個符號之一作為一行的開頭,並且以回車符結尾,查找空行的正規表示式)。
直接在”查找”中輸入正規表示式“^[ /t]*/n”,注意/t前有空格符。
(1)選擇“從行首開始匹配”,並且在“查找內容”組合框中出現字元“^”,表示待查找字串必須出現在文字中一行的行首。
(2)選擇“字元在範圍中”,那麼在“^”後會增加一對括號“[]”,目前插入點在括號中。括號在正規表示式中表示,文字中的字元符合括號中任一個字元 即符合查找條件。
(3)按一下空白鍵,新增空格符。空格符是空行的一個組成成分。
(4)選擇“製表符”,並新增代表製表符的“/t”。
(5)移動遊標,將目前插入點移到“]”之後,然後選擇“匹配 0 次或更多”,該操作會添加星號字元“*”。星號表示,其前面的括號「[]」內的空格符或製表符,在一行中出現0個或多個。
(6)選擇“換行符號”,插入“/n”,表示回車符。
④、「替換為」組合方塊保持空,表示刪除查找到的內容。按一下「取代」按鈕逐一刪除空白行,或按一下「全部取代」按鈕刪除全部空白(注意:EditPlus有時存在「全部替換」不能一次完全刪除空白行的問題,可能是程式BUG,需要多按幾次按鈕)。
1.在漢化的時候,是否常常碰到這樣的語句需要翻譯:
Code:
“Error adding the post!”;
“Error adding the comment!”;
# “Error adding the user!”;
如果有很多類似的檔案一個一個翻譯顯然很累而且感覺很無聊。
其實可以這樣處理,在Editplus裡面用取代功能,在取代對話方塊選取「正規表示式」核取方塊:
尋找原始檔案:
Code:
「Error adding ([^ !|"|;]*)
替換成:
Code:
「在增加/1時發生錯誤
這樣替換之後發生了什麼?結果是:
# Code:
“在增加the post時發生錯誤!”;
“在增加the comment時發生錯誤!”;
“在增加the user時發生錯誤!”;
ok,接下來你會怎麼做?當然再替換一次把the post、the comment、the user替換成你要翻譯的詞。得到最後的結果:
Code:
“在增加帖子時發生錯誤!”;
“在增加註解時發生錯誤!”;
“在增加使用者時發生錯誤!”;
2.要提取的單字在中間,例如:
Code: can not be deleted because can not be added because can not be updating because
可以用这种方式:
在Editplus里面用 替换 功能,在替换对话框选中“正则表达式”复选框:
查找原文件:
Code:
can not be ([^ ]*) because
替换成:
Code:
无法被/1因为
这样替换之后发生了什么?结果是:
Code:
无法被deleted因为
无法被added因为
无法被updating因为
其余步骤如上。
在汉化量很大而且句式比较单调的情况下对效率的提高很明显!
解释一下:([^!|"|;]*) 的意思是 不等于 ! 和 ” 和 ; 中的任何一个,意思就是这3个字符之外的所有字符将被选中(替换区域);
/1 即被选中的替换区域所在的新位置(复制到这个新位置)。
3.经常手工清理一行一行地删除文本文件里面的空白行,其实可以交给Editplus更好的完成,在Editplus里面用替换功能,在替换对话框选中 “正则表达式”复选框:
查找原文件:
Code:
^[ /t]*/n
替换部分为空就可以删除空白行了,执行一下看看:)
abandon[2''b9nd2n]v.抛弃,放弃
abandonment[2''b9nd2nm2nt]n.放弃
abbreviation[2bri:vi''ei62n]n.缩写
abeyance[2''bei2ns]n.缓办,中止
abide[2''baid]v.遵守
ability[2''biliti]n.能力
able[''eibl]adj.有能力的,能干的
abnormal[9b''n0:m2l]adj.反常的,变态的
aboard[2''b0:d]adv.船(车)上
1.
查找: (^[a-zA-Z0-0/-]+)(/[*.*/]+)(.*)
替换: @@@@@”/1″,”/2″,”/3″,
效果:
@@@@@”abandon”,”[2''b9nd2n]“,”v.抛弃,放弃”,
@@@@@”abandonment”,”[2''b9nd2nm2nt]“,”n.放弃”,
@@@@@”abbreviation”,”[2bri:vi''ei62n]“,”n.缩写”,
@@@@@”abeyance”,”[2''bei2ns]“,”n.缓办,中止”,
@@@@@”abide”,”[2''baid]“,”v.遵守”,
@@@@@”ability”,”[2''biliti]“,”n.能力”,
@@@@@”able”,”[''eibl]“,”adj.有能力的,能干的”,
@@@@@”abnormal”,”[9b''n0:m2l]“,”adj.反常的,变态的”,
@@@@@”aboard”,”[2''b0:d]“,”adv.船(车)上”,
2.
查找: /n
替换:
注: 要次替换内容为空
效果:
@@@@@”abandon”,”[2''b9nd2n]“,”v.抛弃,放弃 ”,@@@@@”abandonment”,”[2''b9nd2nm2nt]“,”n.放弃 ”,@@@@@”abbreviation”,”[2bri:vi''ei62n]“,”n.缩写 ”,@@@@@”abeyance”,”[2''bei2ns]“,”n.缓办,中止”,@@@@@”abide”,”[2''baid]“,”v.遵守 ”,@@@@@”ability”,”[2''biliti]“,”n.能力”,@@@@@”able”,”[''eibl]“,”adj.有能力的,能 干的 ”,@@@@@”abnormal”,”[9b''n0:m2l]“,”adj.反常的,变态的 ”,@@@@@”aboard”,”[2''b0:d]“,”adv.船(车)上”,@@@@@”abolish”,”[2''b0li6]“,”v.废 除,取消”,@@@@@”abolition”,”[9b2''li62n]“,”n.废除,取消”
3.
查找: @@@@@
替换: /n
效果:
“abandon”,”[2''b9nd2n]“,”v.抛弃,放弃”,
“abandonment”,”[2''b9nd2nm2nt]“,”n.放弃”,
“abbreviation”,”[2bri:vi''ei62n]“,”n.缩写”,
“abeyance”,”[2''bei2ns]“,”n.缓办,中止”,
“abide”,”[2''baid]“,”v.遵守”,
“ability”,”[2''biliti]“,”n.能力”,
“able”,”[''eibl]“,”adj.有能力的,能干的”,
“abnormal”,”[9b''n0:m2l]“,”adj.反常的,变态的”,
“aboard”,”[2''b0:d]“,”adv.船(车)上”,
“abolish”,”[2''b0li6]“,”v.废除,取消”,
4. 任务完成
一、删除空行(不包括有空格类符号的空行)
1、\r\n转义符替换
按ctrl+h,跳出搜索替换框,把查找模式定义为扩展(\n,\r...)
查找目标:\r\n\r\n
替换为:\r\n
有编程基础的读者应该知道是什么意思了。
2、Textfx插件
先选中要删部分文本内容,如果是整个文件那就全选Ctrl+A,然后使用Notepad++自带的Textfx插件,在长长的列表中找到Delete Blank Lines,点击即可。
注意Notepad 的正規表示式與轉義符等之間不相容,所以限制較大,不可以直接用正規表示式取代。
二、刪除有空格的空白行
1、先刪除空格,後刪除空白行
如何刪除只有空格行的空格?
在選單編輯中找到Blank Operations(行編輯),點選移除行尾空白,再用上面的方法刪除空白行。
2、使用正規表示式刪除空格行空格
取代中查找模式選擇正規表示式^ $,替換為空(就是什麼都不填),再用上面的方法刪除空白行。
以上是關於notepad++正規表示式替換字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用 Notepad++ 開啟大檔案?啟動 Notepad++,點擊“檔案”>“開啟”,在檔案瀏覽器中選擇大檔案。可能遇到的常見問題:檔案載入緩慢、出現「檔案太大」錯誤、記憶體不足、檔案損壞。優化效能的方法:停用外掛程式、調整設定、使用多執行緒。

Notepad 中可透過以下步驟調整字體大小:1. 開啟Notepad;2. 前往「格式」選單;3. 選擇「字體」選項;4. 在「字體」視窗中,使用「大小」欄位調整字體大小; 5. 點選「確定」按鈕以套用變更。

Notepad++ 元件安裝時建議選擇以下必選元件:NppExec、Compare、Multi-Edit、Spell Checker、XML Tools。選用元件用於增強特定功能,包括 Auto Completion、Column Editor、DSpellCheck、Hex Editor、Plugin Manager。安裝組件前,請確定常使用的功能,並考慮相容性和穩定性。僅安裝需要的組件,避免不必要混亂。

Notepad++ 是一款廣泛用於程式設計、網頁開發和文字操作的免費、開源文字編輯器,其主要用途包括:文字編輯和檢視:建立、編輯和檢視純文字文件,支援標籤頁和語法高亮。程式設計:支援多種程式語言的語法高亮、程式碼折疊和自動完成,並整合偵錯器和版本控制插件。網頁開發:提供 HTML、CSS 和 JavaScript 的語法高亮、程式碼驗證和自動完成,方便網頁建立和編輯。其他用途:用於文字處理、腳本編寫和文件編輯。

透過正規表示式,Notepad++ 可以依條件篩選資料:1. 開啟檔案並使用「尋找」視窗;2. 選擇「正規表示式」模式;3. 輸入正規表示式定義條件,例如尋找包含「foo」的行:foo。

在 Notepad++ 中執行 Perl 程式碼需遵循以下步驟:安裝 Perl 解譯器。配置 Notepad++,在「語言」設定中選擇 Perl 並輸入 Perl 執行檔路徑。編寫 Perl 程式碼。在 NppExec 外掛程式中選擇 Perl 解譯器並執行程式碼。查看輸出,位於功能表列的「控制台」中。

Notepad++ 本身無法執行 C 語言程序,需要一個外部編譯器來編譯和執行程式碼。為了使用外部編譯器,可以按以下步驟進行設定:1. 下載並安裝C 語言編譯器;2. 在Notepad++ 中建立自訂工具,將編譯器執行檔路徑和參數配置好;3. 建立C 語言程式並儲存為.c 檔案副檔名;4. 選擇C 語言程式文件,從「執行」功能表中選擇自訂工具進行編譯;5. 查看編譯結果,輸出編譯錯誤或成功訊息。如果編譯成功,將產生可執行檔。

Notepad++ 預設不提供中文介面,切換步驟如下:下載中文語言包並在提示下完成安裝;重啟 Notepad++ 並進入「首選項」視窗;在「語言」標籤中選擇「Chinese Simplified」並點擊「確定」。
