notepad++
是一款自由的編輯器,適合編輯各種源**,也可作為替代記事本的工具。它與前日提到的 scite 都使用了
scintilla
昨天賣了個關子,今天就在此略微**一下正規表示式。
眼下已經有了各公司的**檔案,000002、000006……排成一列,要想變成 公司**,該如何做呢?為了簡便起見,就用 url 三個字元代替網頁位址。
用 notepad++ 開啟公司**檔案,把游標移至開頭(快捷鍵為 ctrl+home),選擇 search 選單中的 replace...(快捷鍵為 ctrl+h),開啟 replace 對話方塊。在 find what 中輸入「(.+)」(沒有引號,而且都是半形符號),在 replace with 中輸入「/1」,切記要選擇 regular expression 選項,然後按 replace all 按鈕。幾百行公司**轉瞬間就會被替換成所需的格式。
那麼,為什麼用「(.+)」就可以選擇一行**呢? 「/1」又是做什麼的呢?
首先需要說明一點,notepad++ 的正規表示式是以
行為單位的。在查詢表示式中,「.」表示任意字元;「+」表示匹配 1 次或多次,比如,ab+c 可以匹配 abc,abbc,abbbc 等;圓括號「(」和「)」分別為匹配區域的起始和結束。由此可知,「(.+)」可以匹配任何一行內容。
在替換表示式中,「/1」表示第乙個匹配區域所匹配的內容,依此類推,「/n」表示第 n(可取 1-9)個匹配區域所匹配的內容。將匹配的內容代入,就得到了所需的格式。通過「/n」可以改變查詢字串的順序,並創造出新的組合,大有用處。
正規表示式極為靈活,要做此事還有許多其他方法。比如,在查詢處可以輸入「[0-9]+」,亦可達到同樣的效果。這裡方括號「」表示符號集合,「[0-9]」表示 0 至 9 這十個數字中的任何乙個,而「[0-9]+」則表示全部為數字的一行。
正規表示式功能強大,若能恰當使用,可事半功倍。有興趣的話,可以參考一下 notepad++ 的正規表示式幫助
。
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 正規表示式替換 例子
例1 分別代表 匹配 除了 之外的乙個字元 盡可能多得匹配它前面的那種字元,至少匹配0個 盡可能多得匹配它前面的那種字元,至少匹配1個 這樣合起來 匹配最裡層的花括號 例2 和 分別代表 和 匹配任意乙個字元 zero or more of the previous group,but minima...