<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...