首頁 開發工具 Notepad 關於notepad++正規表示式替換字串

關於notepad++正規表示式替換字串

Dec 02, 2020 pm 03:02 PM
notepad

下面由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$

替換為:

##找出目標\n([a-zA-Z0-9])

#或\r([a-zA-Z0-9])

替換目標$1(http前面的換行變成   ','   ,然後再增加其他的)

【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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

notepad++如何開啟大文件 notepad++如何開啟大文件 Apr 08, 2024 am 09:45 AM

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

notepad如何調整字體大小 notepad如何調整字體大小 Apr 08, 2024 am 10:21 AM

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

notepad++安裝選擇哪些元件 notepad++安裝選擇哪些元件 Apr 08, 2024 am 10:48 AM

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

notepad++有什麼用 notepad++有什麼用 Apr 08, 2024 am 11:03 AM

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

notepad文字編輯器如何依條件篩選數據 notepad文字編輯器如何依條件篩選數據 Apr 08, 2024 am 10:33 AM

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

notepad++如何運行perl程式碼 notepad++如何運行perl程式碼 Apr 08, 2024 am 10:18 AM

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

notepad++如何運行C語言 notepad++如何運行C語言 Apr 08, 2024 am 10:06 AM

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

notepad++如何改成中文 notepad++如何改成中文 Apr 08, 2024 am 10:42 AM

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

See all articles