@=”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、←、→
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形式正則表達式
中卻沒有相應的符號,可以用 .* 來代替。
.
| 匹配任何除換行符之外的單個字符。不匹配重復的換行符。
|
*
| 匹配前面的字符 0 次或多次。
|
6、如果一些操作是重復性的,可以用UltraEdit的宏來完成。 我常用的是查找后刪除、或者復制。
6.1 查找后刪除
InsertMode
ColumnModeOff
HexOff
UnixReOn
Top
Loop
Find RegExp "要查詢的內容"
IfFound
DeleteLine
EndLoop
Top
EndIf
6.2 查找后復制
InsertMode
ColumnModeOff
HexOff
UnixReOn
NewFile
PreviousWindow
Top
ClearClipboard
Loop
Find RegExp "要查詢的內容
IfFound
Copy
NextWindow
Paste
InsertLine
PreviousWindow
EndLoop
EndIf
刪除行尾空格:替換[^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的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] 匹配任何數位,或小寫字母。
“^{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 匹配一個換頁字符。
匹配一個換行字符。
匹配一個回車符字符。
匹配一個標簽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的正則表達式查找替換功能,非常簡單快捷!