UE copy后就可以使用,但是沒有右鍵點擊后用UE打開的功能,這個注冊表是以前收集的,copy一下,修改
@=”D:ProgUltraEditue32ctmn.dll” 為你的系統(tǒng)值,令存為.reg文件,導入注冊表即可。 REGEDIT4 [HKEY_CLASSES_ROOT*shellexContextMenuHandlersUltraEdit-32] @="{b5eedee0-c06e-11cf-8c56-444553540000}" [HKEY_CLASSES_ROOTCLSID{b5eedee0-c06e-11cf-8c56-444553540000}] [HKEY_CLASSES_ROOTCLSID{b5eedee0-c06e-11cf-8c56-444553540000}InProcServer32] @="D:ProgUltraEditue32ctmn.dll" "ThreadingModel"="Apartment" 刪除空行的正則表達式 用UltraEdit打開文件后,選擇Search菜單的Replace命令。 在Replace對話框中,選中Regular Expression復選框, 并在Find what中輸入:%[ ^t]++^p,注意^t之前有空格。 該表達式字符含義與EditPlus的相對應。然后,單擊Start或Replace All按鈕,進行替換刪除空行。 編輯遠程檔案 File/Ftp/ Open from FTP or Save as FTP 這一個選項,可以讓大家通過FTP來修改server上的檔案。其中更酷的,不知道大家有沒有發(fā)覺,也可以透過ssh來修改遠程的檔案。不過通過ssh這一項功能,是到UltraEdit10才有的功能。不過這項功能有潛在的危機,就是同份檔案被兩個人同 時開啟修改………..請謹慎使用 搜尋,取代文件中的文字Search/ Find in Files(搜尋件中的文字) Replaces in Files(取代件中的文字),這兩個功能,可以讓用戶針對某個目錄下(包含子目錄)大量件的搜尋,取代。比如今天,某個jsp網頁中 include近來的檔名有錯,需要更改,難道大家還要一個檔案一個檔案的打開,然后搜尋取代文字嗎,就用這個功能 來幫你完成這些事吧。 宏定義功能 將某個快捷鍵定義成要用的宏。??梢钥焖僦貜蛷碗s的編輯操作 強大的列編輯 Editpad稍遜一籌,EP和EM就差太多了。列塊的選擇,處理幾十兆甚至過百M的文本,鼠標選擇列塊肯定不行:d ue提供了選擇范圍輸入行列的起始范圍就ok,不過仍然要查行數列數,麻煩。用快捷鍵選擇最快 快捷鍵:Ctrl、Shift、Home、End、←、→ 先Alt+c切換到列模式,光標放至列起始位置,Ctrl+Shift+End,選擇完畢,反向選擇則將End換為方向鍵,一列一列的選則按Shift+方向鍵。
都是些很簡單的技巧,不過是自己摸索出來,記錄一下。我用的版本是UltraEdit-32 13.00a 簡體中文版。
1、去重 如果文本中的數據是一行一行的,有重復的內容,去重的方法是:文件——排序——高級排序/選項,選中“刪除重復”。 2、查找后亂碼 將文件另存為“UTF-16”格式的文本。代碼頁要設置成: 高級——設置代碼頁/本地,“系統(tǒng)中已安裝的代碼頁”,選擇“936(ANSI/OEM-簡體中文GBK)”; “系統(tǒng)已安裝的地區(qū)”選擇"中文(中國)中國人們共和國"。 3、查找任意漢字 4、使用正則表達式,去除空行、行尾空格 UltraEdit有兩種傳統(tǒng)形式的正則表達式:UltraEdit風格、Unix風格。設置在:高級——配置——搜索——正則表達式引擎。 UltraEdit風格正則表達式: 去除空行: %[ ^t]++^p 替換為 空白(就是什么也不輸入) 去除行尾空格: [ ^t]+$ 替換為 空白 Unix風格正則表達式: 去除空行: ^[ ]* 替換為 空白 去除行尾空格: [ ]+$ 替換為 空白 5、在UltraEdit風格正則表達式中,有個星號(*),功能是匹配任何除換行符外所出現的任意數量的字符。但在Unix形式正則表達式 中卻沒有相應的符號,可以用 .* 來代替。
6、如果一些操作是重復性的,可以用UltraEdit的宏來完成。 我常用的是查找后刪除、或者復制。 6.1 查找后刪除
6.2 查找后復制 InsertMode
刪除空行:替換%[^t]++^p為空串
刪除行尾空格:替換[^t]+$為空串 刪除行首空格:替換%[^t]+為空串 每行設置為固定的4個空格開頭:替換%[^t]++^([~^t^p]^)為"^1" 每段設置為固定的4個空格開頭:替換%[^t]+為"" (如果一行是以空格開始的,則視之為一段的開始行) 將一段合并為一行:替換[^t]++^p^([~^t^p]^)為^1 (注意:此處假定文本是以DOS方式回車換行-CR/LF) 去掉HTMLTAG:替換^{<*>^}^{<*^p*>^}為空串 刪除HTML中的所有:替換<[]++a*[]++href[]++=*>為空串 刪除文本中指定的前2列字符:替換%??為空串 在第4列后插入2列空白字符:替換%^(????^)^(?^)為"^1^2" 查找所有的數字:[0-9]+[.]++[0-9]+ 查找所有的單詞:[a-z]+ 查找所有的網址:http://[a-z0-9^~`_./^-^?=&]+ 注意:替換的時候需要勾選使用正則表達式選項
很多朋友都用過或者正在用UltraEdit,這個編輯器陪伴我也好幾年了,從很多地方影響著我寫代碼的快捷鍵習慣,Ultraedit提供了非常豐富的編輯功能,其中非常重要的查找和替換功能一定大家都用過,Ultraedit提供的查找替換功能非常方便和強大,可以在單獨文件里面查找替換,也可以在多個文件、多個目錄里面進行查找替換。而我們在使用這些查找替換功能的時候,一般都是針對某個字符串進行,前兩天我要對一個目錄下(包含子目錄)所有的html文件中某一段代碼進行查找替換,一下子不知道怎么操作了,由于長期寫程序用到正則表達式,于是猜想具備如此強大功能的Ultraedit一定也有這樣類似的匹配功能,于是點擊Help一看,果然不出所料,Ultraedit支持基本的正則表達式匹配查找和替換功能,這能滿足我們幾乎全部的需要了。
下面是對UltraEdit的Help中針對查找替換使用正則表達式部分的整理,最后還有我前兩天用到的一個多行代碼查找替換的例子。 Ultraedit在使用正則表達式進行查找替換時有兩個可使用的語法集合。一個是 UltraEdit 的更早的版本被使用的原來的 UltraEdit 句法。另一個是”Unix”類型的正則表達式,這個集合在ultraedit的默認配置中是沒有啟用的,需要在配置中找到search項,啟用Unix類型的正則表達式。 語法集合一: 符號 功能 % 匹配行的開始 - 顯示搜索字符串必須在行的開始,但是在所選擇的結果字符串中不包括任何行終止字符。 $ 匹配行尾 - 顯示搜索字符串必須在行尾,但是在所選擇的結果字符串中不包括任何行終止字符。 除了換行符以外匹配任何單個的字符 * 除了換行符匹配任何數量的字符和數字 + 前一字符匹配一個或多個,但至少要出現一個
++ 前一字符匹配零個或多個,但至少要出現一個
^b 匹配一個分頁 ^p 匹配一個換行符(CR/LF)(段)(DOS文件) ^r 匹配一個換行符(CR 僅僅)(段)(MAC 文件) ^n 匹配一個換行符 ( LF 僅僅 )( 段 )( UNIX 文件 ) ^t 匹配一個標簽字符TAB [] 匹配任何單個的字符,或在方括號中的范圍 ^{A^}^{ B^} 匹配表達式A或 B ^ 重載其后的正規(guī)表達式字符 ^(^) 括或標注為用于替換命令的表達式。 一個正則表達式最多可以有9個標注表達式, 按正規(guī)表達式的需要而定。 相應的替換表達式是 ^x , 替換范圍x是1-9。例如: If ^(h*o^) ^(f*s^) matches “hello folks”, ^2 ^1 would replace it with “folks hello”. ?。╤ello folks 將被替換成 folks hello。) 注: ^ 是實際字符 ^不是Ctl + 鍵值。 例如: m?n 匹配 “man”,”men”,”min” 但不匹配 “moon”. t*t 匹配 “test”,”tonight” 和 “tea time” (the “tea t” portion) 但不匹配 “tea time” (newline between “tea ” and “time”). Te+st 匹配 “test”,”teest”,” teeeest “等等。但是不匹配 “tst”。 [aeiou] 匹配每個小寫元音。 [,.?] 匹配一文字的 “,”,”.”或 “?”。 [0-9, a-z] 匹配任何數位,或小寫字母。 [~0-9] 除了數字以外匹配任何字符 (~ 意味著”不”)
你按如下方式可以查找一個表達式A或 B :
“^{John^}^{Tom^}” 這將在找John或Tom的出現。應該在 2 個表達式之間沒有任何東西。 你可以在同一搜索中按如下方式組合A or B and C or D: “^{John^}^{Tom^}^{Smith^}^{Jones^}” 這將在John or Tom 后面找 Smith or Jones。 語法二:”Unix”句法類型的正則表達式 符號 功能 標記下一個字符作為一個特殊的字符。 "n" 匹配字符"n"。"n" 一個換行符或換行符字符。 ^ 匹配/定位行的開始。 $ 匹配/定位行的尾。 * 匹配前面的字符零次或多次。例 + 匹配前面的字符一次或多次。例 . 匹配除了一個換行符字符匹配任何單個的字符。 (expression)標注用于替換命令的表達式。一個正則表達式根據需要,最多可以有9個標注表達式。相應的代替表達式是 x , x的范圍是 1-9 。 例如: If (h.*o) (f.*s) matches "hello folks", 2 1 would replace it with "folks hello". ?。╤ello folks 將被替換成 folks hello。) [xyz] 一個字符集。匹配在方括號之間的任何字符。 [^xyz] 一個否定的字符集。不匹配在方括號之間的任何字符。 d 匹配一個數字字符。等價于[0-9]。 D 匹配一個非數字字符。等價于[^0-9]。 f 匹配一個換頁字符。 匹配一個換行字符。 匹配一個回車符字符。 s 匹配任何空白的空格, 標簽, 換頁, 包括空格等等,但不匹配換行符。
S 匹配任何非空白的字符,但不匹配換行符。
匹配一個標簽TAB字符。 v 匹配一個垂直的標簽字符。 w 匹配任何詞語字符包括下劃線。 W 匹配任何非詞語字符字符。 注: ^ 是實際字符 ^不是Ctl + 鍵值。 例如: m.n 匹配 “man”,”men”,”min” 但不匹配 “moon”. t+t 匹配 “test”,”tonight” 和 “tea time” (the “tea t” portion) 但不匹配 “tea time” (newline between “tea ” and “time”). Te*st 匹配 “test”,”teest”,” teeeest “等等。但是不匹配 “tst”。 [aeiou] 匹配每個小寫元音。 [,.?] 匹配一文字的 “,”,”.”或 “?”。 [0-9,a-z] 匹配任何數位,或小寫字母。 [^0-9] 除了數字以外匹配任何字符 (~ 意味著”不”) 你按如下方式可以查找一個表達式A或 B : “(John)|(Tom)” 這將在找John或Tom的出現。應該在 2 個表達式之間沒有任何東西。 你可以在同一搜索中按如下方式組合A or B and C or D: “(John|Tom) (Smith|Jones)” 這將在John or Tom 后面找 Smith or Jones。 另外: p 匹配 CR/LF ( 作為 rn 的一樣 ) 作為DOS行結束符匹配 如果查找/替換功能中正則表達式沒有選用,則替換字段中下列字符也是有效的: 符號 功能 ^^ 匹配一個 “^” 字符
^s 替換為被選擇 ( 加亮 ) 活躍的文件窗口的文章。 ^c 替換為剪貼板的內容 ^b 匹配一個頁裂縫 ^p 匹配一個換行符 ( CR/LF )( 段 )( DOS 文件) ^r 匹配一個換行符 ( CR 僅僅 )( 段 )( MAC 文件) ^n 匹配一個換行符 ( LF 僅僅 )( 段 )( UNIX 文件) ^t 匹配一個標簽TAB字符 下面是我要實現的一段代碼查詢替換的舉例 有這樣一段代碼分布在各個html文件中 <!-- Copyright ?2005. toplee Ltd --> <style> A.applink:hover {border: 2px dotted #DCE6F4;padding:2px;background-color:#ffff00;color:green;text-decoration:none} A.applink {border: 2px dotted #DCE6F4;padding:2px;color:#2F5BFF;background:transparent;text-decoration:none} A.info {color:#2F5BFF;background:transparent;text-decoration:none} A.info:hover {color:green;background:transparent;text-decoration:underline} </style> <div style=‘BORDER: 1px solid #DCE6F4; MARGIN-TOP: 20px; MARGIN-BOTTOM: 20px; MARGIN-LEFT: 5px; .... 省略若干行.... <!-- /Copyright ?2005. toplee Ltd --> 我要把上面一段代碼替換為空,于是編寫下面的匹配規(guī)則 <!-- Copyright[^!]*[^>]*> 即完成了全部替換。 大家可以在今后的編碼中嘗試一下Ultraedit的正則表達式查找替換功能,非常簡單快捷! |
|