正規表示式(notepad 實戰運用)

2021-08-20 18:12:31 字數 2439 閱讀 1684

<1.運用場景,契約文件到實體類轉變》

某公司有乙份契約,如下

開發人員需要根據契約寫出對應的實體類,當引數較多是,所開發的時間就比較多,這時候我們可以通過notepad++,用正規表示式進行替換

操作步驟

①複製契約具體引數到notepad++

②寫乙個正規表示式,使之可以匹配到任意一行

(?i)(?s)^([a-z]+)\s+\[?([a-z0-9\\!]+)\]?\s+(.*?)$
快捷鍵ctr+f ,彈出replace視窗 ,在find what 輸入正規表示式,測試一下如圖

③假如我們要替換這種格式,如圖

寫乙個要替換後的正規表示式:

/** \3 */\r\nprivate \2 \1;
在 replace with 輸入要替換的正規表示式,測試一下

只需要把替換後內容複製貼上到新建的類檔案就可以了,就不用自己乙個個手寫了,當契約較多的時候就會節省很多開發時間,而且引數不會寫錯。

效果展示完,接下來就來了解一下正規表示式吧

<2.了解正規表示式》

定義:正規表示式是對字元

串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。

語法:

?i : 匹配時不區分大小寫

?s : 單行模式,表示更改.的含義,使它與每乙個字元匹配(包括換行 符\n)

?m : 多行模式,表示更改^和$的 含義,使它們分別在任意一行的行首和行尾匹配,而不僅僅在整個字串的開頭和結尾匹配。(在此模式下,$的 精確含意是:匹配\n之前的位置以及字串結束前的位置.)

^ : 一行的開始

$ : 一行的結束

.     : 任意字元類

[abc] : 包含a、b和c的任何字元(tong a|b|c)

[^abc]: 除a、b和c的任何字元

\s : 空白符

\s : 非空白符

\d : 數字[0-9]

\d : 非數字[^0-9]

\w : 詞字元[a-za-z0-9]

\w : 非次字元

1 貪婪型            勉強型         占有型        如何匹配

2 x? x?? x?+ 乙個或零個x

3 x* x*? x*+ 零個或多個x

4 x+ x+? x++ 乙個或多個x

5 x x? x+ 恰好n次x

6 x x? x+ 至少n次x

7 x x? x+ x至少n次,且不超過m次

解析:

(?i)(?s)^([a-z]+)\s+\[?([a-z0-9\]+)\]?\s+(.*?)$(?i) 不區分大小寫

(?s) 當行模式

^ 一行開始

([a-z]+) 乙個或多個英文本元,第乙個小括號表示第乙個組 \1

\s+ 乙個或多個空格

\[? 0個或者乙個[

([a-z0-9\]+) :乙個或者多個字母數字,尖括號 \2

\]? 0個或1個]

\s+ 乙個或多個空格

(.*?) 勉強型0個或多個任意字元 \3/** \3 */\r\nprivate \2 \1;\r :換行

notepad 正規表示式

將文字中test值都首位加11 使用查詢test 替換test 11 1。也可使用查詢test 0 9 其它 t 製表符.n 新行.匹配任意字元.匹配表示式左邊和右邊的字元.例如,zy yc 匹配 zy 或者 yc 匹配列表之中的任何單個字元.例如,zy 匹配 z 或者 y 0 9 匹配任意數字或者...

notepad 正規表示式

匹配行的開始 顯示搜尋字串必須在行的開始,但是在所選擇的結果字串中不包括任何行終止字元。匹配行尾 顯示搜尋字串必須在行尾,但是在所選擇的結果字串中不包括任何行終止字元。除了換行符以外匹配任何單個的字元 乙個正規表示式最多可以有9個標註表示式,按正規表示式的需要而定。相應的替換表示式是 x 替換範圍x...

Notepad 與正規表示式

notepad 是一款自由的編輯器,適合編輯各種源 也可作為替代記事本的工具。它與前日提到的 scite 都使用了 scintilla 昨天賣了個關子,今天就在此略微 一下正規表示式。眼下已經有了各公司的 檔案,000002 000006 排成一列,要想變成 公司 該如何做呢?為了簡便起見,就用 u...