目錄
1 基本表达式
2 标记和分组
3 特殊符號
4 字元類別
首頁 開發工具 Notepad NotePad++正規表示式如何進行替換(圖文)

NotePad++正規表示式如何進行替換(圖文)

Sep 26, 2018 pm 04:38 PM
notepad++

 本篇文章给大家带来的内容是关于NotePad++正则表达式如何进行替换(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

NotePad++ 正则表达式替换 高级用法

const getQAPartnerSites = (params) => wxRequest(params, apiUrlApp + 'ask/show_sites/')
const getQARecommender = (params) => wxRequest(params, apiUrlApp + 'ask/question_likely/')
const postQAurls = (params) => wxRequest(params, apiUrlApp + 'ad/ad_pub/')
const getQAPublished = (params) => wxRequest(params, apiUrlApp + 'ask/ask_list/')
登入後複製
^const\W{1}(\w+)\W{1}\={1}.+$
\1,
登入後複製
getQAPartnerSites,
getQARecommender,
postQAurls,
getQAPublished,
登入後複製

在我们处理文件时,很多时候会用到查找与替换。当我们想将文件中某一部分替换替换文件中另一部分时,怎么办呢? 下面正则表达式 给我提供方法。

正则表达式,提供复杂 并且弹性的查找与替换

注意: 不支持多行表达式 (involving \n, \r, etc).

1 基本表达式

符号 解释
. 匹配任意字符,除了新一行(\n)。也就是说 “.”可以匹配 \r ,当文件中同时含有\r and \n时,会引起混乱。要匹配所有的字符,使用\s\S。
(…) 这个匹配一个标签区域. 这个标签可以被访问,通过语法 \1访问第一个标签, \2 访问第二个, 同理 \3 \4 … \9。 这些标签可以用在当前正则表达式中,或则替search和replace中的换字符串。
\1, \2, etc 在替换中代表1到9的标签区域(\1 to \9)。例如, 查找字符串 Fred([1-9])XXX 并替换为字符串 Sam\1YYY的方法,当在文件中找到Fred2XXX的字符串时,会替换为Sam2YYY。注意: 只有9个区域能使用,所以我们在使用时很安全,像\10\2 表示区域1和文本”0”以及区域2。
[…] 表示一个字符集合, 例如 [abc]表示任意字符 a, b or c.我们也可以使用范围例如[a-z] 表示所以的小写字母。
[^…] 表示字符补集. 例如, [^A-Za-z] 表示任意字符除了字母表。
^ 匹配一行的开始(除非在集合中, 如下).
$ 匹配行尾.
* 匹配0或多次, 例如 Sa*m 匹配 Sm, Sam, Saam, Saaam 等等.
+ 匹配1次或多次,例如 Sa+m 匹配 Sam, Saam, Saaam 等等.
? 匹配0或者1次, 例如 Sa?m 匹配 Sm, Sam.
{n} 匹配确定的 n 次.例如, ‘Sa{2}m’ 匹配 Saam.
{m,n} 匹配至少m次,至多n次(如果n缺失,则任意次数).例如, ‘Sa{2,3}m’ 匹配 Saam or Saaam. ‘Sa{2,}m’ 与 ‘Saa+m’相同
*?, +?, ??, {n,m}? 非贪心匹配,匹配第一个有效的匹配,通常 ‘<.>’ 会匹配整个 ‘content’字符串 –但 ‘<.?>’ 只匹配 ” .这个标记一个标签区域,这些区域可以用语法\1 \2 等访问多个对应1-9区域。

2 标记和分组

符号 解释
(…) 一组捕获. 可以通过\1 访问第一个组, \2 访问第二个.
(?:…) 非捕获组.
(?=…) 非捕获组 – 向前断言. 例如’(.*)(?=ton)’ 表达式,当 遇到’Appleton’字符串时,会匹配为’Apple’.
(?<=…)非捕获组 – 向后断言. 例如’(?<=sir) (.*)’ 表示式,当遇到’sir William’ 字符串时,匹配为’ William’.
(?!…)非捕获组 – 消极的向前断言. 例如’.(?!e)’ 表达式,当遇到’Apple’时,会找到每个字母除了 ‘l’,因为它紧跟着 ‘e’.
(?非捕获组 – 消极向后断言. 例如 ‘(?
(?P…)命名所捕获的组. 提交一个名称到组中供后续使用,例如’(?PA[^\s]+)\s(?P=first)’ 会找到 ‘Apple Apple’. 类似的 ‘(A[^\s]+)\s\1’ 使用组名而不是数字.
(?=name)匹配名为name的组. (?P…).
(?#comment)批注 –括号中的内容在匹配时将被忽略。

3 特殊符號

符號解釋
\s匹配空格. 注意,會匹配標記的末尾. 使用[[:blank:]] 來避免匹配新一行。
\S符合非空白
#\w符合單字字元
\W符合非單字字元
#\d符合數字字元
#\D符合非數字字元
\b符合單字邊界. '\bW\w ' 找到W開頭的單字
\B符合非單字邊界. '\Be\B ' – 找到位於單子中間的字母'e'
\<This matches the start of a word using Scintilla's definitions of words.
> This matches the end of a word using Scintilla's definition of words.
\x 運行用x來表示可能具有其他意思的字元。例如, [ 用來插入到文字中作為[ 而不是作為字元集的開始.

4 字元類別

##符號解釋[[:alpha:]]#匹配字母字元: [A-Za- z][[:digit:]]符合數字字元: [0-9][[ :xdigit:]]符合16進位字元: [0-9A-Fa-f][[:alnum:]] #符合字母數字字元: [0-9A-Za-z][[:lower:]]符合小寫字元: [a-z][[:upper:]]符合大寫字元: [A-Z][[:blank:]]匹配空白(空格or tab):[ \t][[:space:]]#匹配空白字元:[ \t\r \n\v\f][[:punct:]]#符合標點字元: [-!”#$%&'()* ,. /:;<=>?@[]_`{[[:graph:]]符合圖形字元: [\x21-\x7E ][[:print:]]符合可列印的字元(graphical characters and spaces)[ [:cntrl:]]匹配控製字元
#5 取代操作

使用正規表示式的標記,透過()來包圍想要用的字符,然後用\1 來替換字串,第一個匹配文字。

例如:

##Text bodyHi my name is Fred##The quick brown fox jumped over the fat lazy dogbrown (. ) jumped over the (. )brown \2 jumped over the \1The quick brown fat jumped over the fox lazy dog6 限制
Search string Replace string Result
#my name is (. ) my name is not \1 Hi my name is not Fred
Support for regular expressions in PN2 is currently limited, the supported patterns and syntax are a very small subset of the powerful expressions supported suplper. very small subset of the powerful expressions supported by supl. very small supl. 問題最大的最大的最大的最大的最大的最大限制是正規表示式只能符合單行,不能用多行來匹配表達式。可以用Backslash Expressions代替.

準備計劃是使用PCRE庫 library (used elsewhere in PN2) 來支援文件搜尋.

以上是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 16, 2025 pm 08:06 PM

Notepad 本身不具備自動排版功能。我們可以使用第三方文本編輯器,如 Sublime Text,執行以下步驟實現自動排版:1. 安裝並打開文本編輯器。 2. 打開需要自動排版的文件。 3. 查找並選擇自動排版功能。 4. 編輯器將自動排版文本。 5. 可根據需要自定義排版規則。自動排版可以節省時間,保證文本一致性和專業性。

notepad  怎麼使用 notepad 怎麼使用 Apr 16, 2025 pm 08:09 PM

Notepad 是一款用於 Windows 的免費文本編輯器,它提供多種功能,例如:1)語法高亮顯示,2)自動完成,3)宏錄製,4)插件擴展,5)可定制的界面和設置。

notepad  怎麼格式化json notepad 怎麼格式化json Apr 16, 2025 pm 07:48 PM

使用 Notepad 中 JSON Viewer 插件可輕鬆格式化 JSON 文件:打開 JSON 文件。安裝並啟用 JSON Viewer 插件。轉到“插件”&gt;“JSON Viewer”&gt;“格式化 JSON”。自定義縮進、分行和排序設置。應用格式化以提高可讀性和理解力,從而簡化 JSON 數據的處理和編輯。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

記事本:捐款和資金 記事本:捐款和資金 Apr 11, 2025 pm 12:13 PM

Notepad 通過用戶捐款保持免費和開源。 1)捐款通過PayPal或銀行轉賬進行,用戶自願決定金額。 2)資金用於服務器費用、開發工具和開發者獎金,透明度通過定期報告保證。 3)捐款不僅支持Notepad ,也支持整個開源社區的發展。

初學者的記事本:入門的簡單指南 初學者的記事本:入門的簡單指南 Apr 06, 2025 am 12:03 AM

Notepad可用於記錄想法、編寫代碼和記筆記。 1.創建新文件(Ctrl N),2.輸入文本,3.保存文件(Ctrl S)。它支持多種格式,適合初學者和日常使用。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

記事本字符編碼:理解和修復編碼問題 記事本字符編碼:理解和修復編碼問題 Apr 05, 2025 am 12:04 AM

Notepad中的字符編碼問題可以通過“另存為”功能選擇正確編碼來解決。 1.打開文件,2.選擇“文件”->“另存為”,3.在“編碼”下拉菜單中選擇“UTF-8”,4.保存文件。使用高級編輯器如Notepad 可處理更複雜的編碼轉換。

See all articles