在UltraEdit中使用正則表達(dá)式
發(fā)布時(shí)間:2012-10-28 20:38:39 作者:佚名
我要評(píng)論

很多朋友都用過(guò)或者正在用UltraEdit,這個(gè)編輯器陪伴我也好幾年了,從很多地方影響著我寫(xiě)代碼的快捷鍵習(xí)慣,Ultraedit提供了非常豐富的編輯功能,其中非常重要的查找和替換功能一定大家都用過(guò),Ultraedit提供的查找替換功能非常方便和強(qiáng)大,可以在單獨(dú)文件里面查找替換
正則表達(dá)式 (UltraEdit Syntax):
% 匹配行首 - 表明要搜索的字符串一定在行首.
$ 匹配行尾 - 表明要搜索的字符串一定在行尾
? 匹配除換行符外的任一單個(gè)字符.
* 匹配任意個(gè)數(shù)的字符出現(xiàn)任意次數(shù)(不包括換行符)
+ 匹配前導(dǎo)字符或者表達(dá)式出現(xiàn)一次或者更多次(不包括換行符)
++ 匹配前導(dǎo)字符或者表達(dá)式不出現(xiàn)或者出現(xiàn)一次以上(不包括換行符)
^b 匹配頁(yè)中斷符
^p 匹配DOS文件的換行符
^r 匹配MAC文件的換行符(CR Only)
^n 匹配UNIX文件的換行符 (LF Only)
^t 匹配一個(gè)制表符
[ ] 匹配方括號(hào)中的單個(gè)的字符
刪除空行: 替換 %[ ^t]++^p 為 空串
刪除行尾空格: 替換 [ ^t]+$ 為 空串
刪除行首空格: 替換 %[ ^t]+ 為 空串
每行設(shè)置為固定的4個(gè)空格開(kāi)頭: 替換 %[ ^t]++^([~ ^t^p]^) 為 " ^1"
每段設(shè)置為固定的4個(gè)空格開(kāi)頭: 替換 %[ ^t]+ 為 " "
(如果一行是以空格開(kāi)始的,則視之為一段的開(kāi)始行)
將一段合并為一行: 替換 [ ^t]++^p^([~ ^t^p]^) 為 ^1
(注意: 此處假定文本是以DOS方式回車換行 - CR/LF)
去掉HTML TAG: 替換 ^{<*>^}^{<*^p*>^} 為 空串
刪除HTML中的所有<A>: 替換 <[ ]++a *[ ]++href[ ]++=*> 為 空串
刪除文本中指定的前2列字符: 替換 %?? 為 空串
在第4列后插入2列空白字符: 替換 %^(????^)^(?^) 為 "^1 ^2"
查找所有的數(shù)字: [0-9]+[.]++[0-9]+
查找所有的單詞: [a-z]+
查找所有的網(wǎng)址: http://[a-z0-9^~`_./^-^?=&]+
注意: 替換的時(shí)候需要勾選使用正則表達(dá)式選項(xiàng)
在UltraEdit配置中的正則表達(dá)式引擎中挑上使用UltraEdit風(fēng)格,13版本使用Unix風(fēng)格不能使用正則表達(dá)式分組功能
從Ultraedit8.0一直使用到現(xiàn)在,感覺(jué)這個(gè)東東確實(shí)不錯(cuò)?,F(xiàn)將一些基本的經(jīng)驗(yàn)總結(jié)如下,與大家共享;歡迎有興趣的朋友前來(lái)補(bǔ)充。
Tip 0: 沒(méi)有注冊(cè)碼,如何有效使用Ultraedit呢?
很多人立即想到使用crack版,可實(shí)際追究起來(lái),那是違法的事情。實(shí)際上,Ultraedit并沒(méi)有把路子完全堵死。我們可以使用一些小技巧來(lái)屏蔽掉這個(gè)問(wèn)題。修改ultraedit的快捷方式,將命令行改為:E:uedit9UEDIT32.EXE p:,其中p:必須是你的機(jī)器上不存在的分驅(qū),這樣,就不會(huì)有試用時(shí)間結(jié)束的問(wèn)題了。
Tip 1: 如何去掉所編輯文本中包含特定字符串的行?
這則技巧是在UltraEdit的幫助文件里提到.CTRL+R 調(diào)出來(lái)替換(Replace)窗口,選中"使用正則表達(dá)式";然后用查找 %*你的字符串*^p 替換成空內(nèi)容即可.如,我當(dāng)前有個(gè)文本文件,需要去掉所有包含 http://www.baidu.net/ 這個(gè)字符串的行,查找 %*http://www.baidu.net/*^p 替換成空即可.注意,^p 是 DOS 文件類型的換行符.如果是 Unix 類型文件,則用 ^n.
Tip 2: 如何在行末添加特定字符,比如逗號(hào)?
有了上面的經(jīng)驗(yàn)(其實(shí)我第一次是從同事那里學(xué)到的),CTRL+R 調(diào)出來(lái)替換(Replace)窗口,選中"使用正則表達(dá)式".然后可以查找 ^p(或者^(guò)n,如果是Unix 文件),用 ,^p(或者,^n)進(jìn)行"全部替換"即可.補(bǔ)充一點(diǎn),如果是 MAC(Apple) 類型文件,則換行符號(hào)為 ^r .
Tip 3: 如何刪除空行?
參考上面兩個(gè)例子,查找 ^p$ 然后替換為空即可.
看來(lái),正則表達(dá)式需要學(xué)習(xí)一下嘍.
Tip 4: 編輯文件如何加入時(shí)間戳 ?
F7 快捷鍵即可.你試試看?
Tip 5: 為何 拷貝(Copy)/粘貼(Paste)功能不能用了?
不怕大家笑話,我有幾次使用 UltraEdit 的過(guò)程中發(fā)現(xiàn)拷貝與粘貼的內(nèi)容是不匹配的.不知所以然,干脆重新啟動(dòng)了筆記本.今天翻看手冊(cè)才恍然大悟:UltraEdit有10個(gè)剪切板(clipboard),分別用Ctrl+0 - Ctrl+9 切換. Ctrl+0 是 Windows 的,其他則為用戶自定義的.我在使用的過(guò)程中錯(cuò)調(diào)用了 CTRL+n, 結(jié)果內(nèi)容就有問(wèn)題了.你遇到過(guò)沒(méi)?
Tip 6: 即使是打開(kāi)小文件也有遲延?
這是我遇到過(guò)的問(wèn)題.每次打開(kāi)文件的時(shí)候總有幾秒鐘的耽擱.我的機(jī)器性能可不算差.怎么回事? 網(wǎng)絡(luò)打印機(jī)搞得鬼! 打開(kāi)"高級(jí)"->"設(shè)置"->"編輯器"->"高級(jí)",看看是不是選中了"載入/恢復(fù)打印機(jī)設(shè)置"?如果是的話,去掉(不同的版本/漢化與否可能該位置所在有差別).
Tip 7: 刪除當(dāng)前行內(nèi)容 CTRL+e
Tip 8: 你按一下快捷鍵ALT+c試試,變?yōu)榱芯庉嬆J?,可以一次輸入多行?nèi)容,只要你選好行范圍,編輯整齊的數(shù)據(jù)表非常合適。
Tip 9: 光標(biāo)位于某一行,按Ctrl+F2試試,有了標(biāo)簽了,多設(shè)幾個(gè),按住F2,它會(huì)往你設(shè)定的標(biāo)簽處跳來(lái)跳去,很好玩。
Tip 10: 暫時(shí)沒(méi)想出來(lái),有興趣的前來(lái)補(bǔ)充。
更多內(nèi)容整理中......
--如何在UltraEdit中配置Java編譯器和運(yùn)行指令:
方法:在Advanced -- Tool configuration 菜單的對(duì)話框里
1,配置javac
在command line里輸入:c:jdk1.3binjavac %f
注意:這里的javac路徑你要按你自己的來(lái)指定;%f是指當(dāng)前活動(dòng)文檔的全文件名,即“文件名.擴(kuò)展名",
因?yàn)閖ava程序在編譯時(shí)必須帶上擴(kuò)展名。如果你用了%F(大寫(xiě))是不對(duì)的,它只表示文件名而不帶擴(kuò)展名
(對(duì)于java運(yùn)行命令是這樣的)。在Menu Item Name 里輸入javac ,它出現(xiàn)在菜單里,這樣你就知道它是
用來(lái)編譯的。然后選擇output to list box 和 capture output,這樣當(dāng)編譯錯(cuò)誤的時(shí)候你就可以在源代碼
的下面的output窗口里看到錯(cuò)誤信息了。
2,配置不帶參數(shù)的java運(yùn)行命令
在command line里輸入:java %n, 或者java %F,這兩個(gè)有時(shí)候不一樣,看你的環(huán)境怎么配置了,我是使用的前一個(gè)。
在Menu Item Name 里輸入: java -no parameter
并且選擇output to list box 和 capture output ,這樣當(dāng)運(yùn)行的時(shí)候,運(yùn)行結(jié)果顯示在output窗口里。
3,配置帶參數(shù)的java運(yùn)行命令
在command line里輸入:java %n%modify%
在Menu Item Name 里輸入: java -parameter,這樣當(dāng)你運(yùn)行的時(shí)候,它會(huì)有一個(gè)對(duì)話框要求你輸入?yún)?shù)
很多朋友都用過(guò)或者正在用UltraEdit,這個(gè)編輯器陪伴我也好幾年了,從很多地方影響著我寫(xiě)代碼的快捷鍵習(xí)慣,Ultraedit提供了非常豐富的編輯功能,其中非常重要的查找和替換功能一定大家都用過(guò),Ultraedit提供的查找替換功能非常方便和強(qiáng)大,可以在單獨(dú)文件里面查找替換,也可以在多個(gè)文件、多個(gè)目錄里面進(jìn)行查找替換。而我們?cè)谑褂眠@些查找替換功能的時(shí)候,一般都是針對(duì)某個(gè)字符串進(jìn)行,前兩天我要對(duì)一個(gè)目錄下(包含子目錄)所有的html文件中某一段代碼進(jìn)行查找替換,一下子不知道怎么操作了,由于長(zhǎng)期寫(xiě)程序用到正則表達(dá)式,于是猜想具備如此強(qiáng)大功能的Ultraedit一定也有這樣類似的匹配功能,于是點(diǎn)擊Help一看,果然不出所料,Ultraedit支持基本的正則表達(dá)式匹配查找和替換功能,這能滿足我們幾乎全部的需要了。
下面是對(duì)UltraEdit的Help中針對(duì)查找替換使用正則表達(dá)式部分的整理,最后還有我前兩天用到的一個(gè)多行代碼查找替換的例子。
Ultraedit在使用正則表達(dá)式進(jìn)行查找替換時(shí)有兩個(gè)可使用的語(yǔ)法集合。一個(gè)是 UltraEdit 的更早的版本被使用的原來(lái)的 UltraEdit 句法。另一個(gè)是”Unix”類型的正則表達(dá)式,這個(gè)集合在ultraedit的默認(rèn)配置中是沒(méi)有啟用的,需要在配置中找到search項(xiàng),啟用Unix類型的正則表達(dá)式。
語(yǔ)法集合一:
符號(hào) 功能
% 匹配行的開(kāi)始 - 顯示搜索字符串必須在行的開(kāi)始,但是在所選擇的結(jié)果字符串中不包括任何行終止字符。
$ 匹配行尾 - 顯示搜索字符串必須在行尾,但是在所選擇的結(jié)果字符串中不包括任何行終止字符。
? 除了換行符以外匹配任何單個(gè)的字符
* 除了換行符匹配任何數(shù)量的字符和數(shù)字
+ 前一字符匹配一個(gè)或多個(gè),但至少要出現(xiàn)一個(gè)
++ 前一字符匹配零個(gè)或多個(gè),但至少要出現(xiàn)一個(gè)
^b 匹配一個(gè)分頁(yè)
^p 匹配一個(gè)換行符(CR/LF)(段)(DOS文件)
^r 匹配一個(gè)換行符(CR 僅僅)(段)(MAC 文件)
^n 匹配一個(gè)換行符 ( LF 僅僅 )( 段 )( UNIX 文件 )
^t 匹配一個(gè)標(biāo)簽字符TAB
[] 匹配任何單個(gè)的字符,或在方括號(hào)中的范圍
^{A^}^{ B^} 匹配表達(dá)式A或 B
^ 重載其后的正規(guī)表達(dá)式字符
^(^) 括或標(biāo)注為用于替換命令的表達(dá)式。
一個(gè)正則表達(dá)式最多可以有9個(gè)標(biāo)注表達(dá)式, 按正規(guī)表達(dá)式的需要而定。
相應(yīng)的替換表達(dá)式是 ^x , 替換范圍x是1-9。例如:
If ^(h*o^) ^(f*s^) matches “hello folks”,
^2 ^1 would replace it with “folks hello”.
(hello folks 將被替換成 folks hello。)
注: ^ 是實(shí)際字符 ^不是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] 匹配每個(gè)小寫(xiě)元音。
[,.?] 匹配一文字的 “,”,”.”或 “?”。
[0-9, a-z] 匹配任何數(shù)位,或小寫(xiě)字母。
[~0-9] 除了數(shù)字以外匹配任何字符 (~ 意味著”不”)
你按如下方式可以查找一個(gè)表達(dá)式A或 B :
“^{John^}^{Tom^}”
這將在找John或Tom的出現(xiàn)。應(yīng)該在 2 個(gè)表達(dá)式之間沒(méi)有任何東西。
你可以在同一搜索中按如下方式組合A or B and C or D:
“^{John^}^{Tom^}^{Smith^}^{Jones^}”
這將在John or Tom 后面找 Smith or Jones。
語(yǔ)法二:”Unix”句法類型的正則表達(dá)式
符號(hào) 功能
\ 標(biāo)記下一個(gè)字符作為一個(gè)特殊的字符。
"n" 匹配字符"n"。"n" 一個(gè)換行符或換行符字符。
^ 匹配/定位行的開(kāi)始。
$ 匹配/定位行的尾。
* 匹配前面的字符零次或多次。例
+ 匹配前面的字符一次或多次。例
. 匹配除了一個(gè)換行符字符匹配任何單個(gè)的字符。
(expression)標(biāo)注用于替換命令的表達(dá)式。一個(gè)正則表達(dá)式根據(jù)需要,最多可以有9個(gè)標(biāo)注表達(dá)式。相應(yīng)的代替表達(dá)式是 x , x的范圍是 1-9 。
例如:
If (h.*o) (f.*s) matches “hello folks”,
2 1 would replace it with “folks hello”.
(hello folks 將被替換成 folks hello。)
[xyz] 一個(gè)字符集。匹配在方括號(hào)之間的任何字符。
[^xyz] 一個(gè)否定的字符集。不匹配在方括號(hào)之間的任何字符。
\d 匹配一個(gè)數(shù)字字符。等價(jià)于[0-9]。
\D 匹配一個(gè)非數(shù)字字符。等價(jià)于[^0-9]。
\f 匹配一個(gè)換頁(yè)字符。
\n 匹配一個(gè)換行字符。
\r 匹配一個(gè)回車符字符。
\s 匹配任何空白的空格, 標(biāo)簽, 換頁(yè), 包括空格等等,但不匹配換行符。
\S 匹配任何非空白的字符,但不匹配換行符。
\t 匹配一個(gè)標(biāo)簽TAB字符。
\v 匹配一個(gè)垂直的標(biāo)簽字符。
\w 匹配任何詞語(yǔ)字符包括下劃線。
\W 匹配任何非詞語(yǔ)字符字符。
注: ^ 是實(shí)際字符 ^不是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] 匹配每個(gè)小寫(xiě)元音。
[,.?] 匹配一文字的 “,”,”.”或 “?”。
[0-9,a-z] 匹配任何數(shù)位,或小寫(xiě)字母。
[^0-9] 除了數(shù)字以外匹配任何字符 (~ 意味著”不”)
你按如下方式可以查找一個(gè)表達(dá)式A或 B :
“(John)|(Tom)”
這將在找John或Tom的出現(xiàn)。應(yīng)該在 2 個(gè)表達(dá)式之間沒(méi)有任何東西。
你可以在同一搜索中按如下方式組合A or B and C or D:
“(John|Tom) (Smith|Jones)”
這將在John or Tom 后面找 Smith or Jones。
另外:
p 匹配 CR/LF ( 作為 rn 的一樣 ) 作為DOS行結(jié)束符匹配
如果查找/替換功能中正則表達(dá)式?jīng)]有選用,則替換字段中下列字符也是有效的:
符號(hào) 功能
^^ 匹配一個(gè) “^” 字符
^s 替換為被選擇 ( 加亮 ) 活躍的文件窗口的文章。
^c 替換為剪貼板的內(nèi)容
^b 匹配一個(gè)頁(yè)裂縫
^p 匹配一個(gè)換行符 ( CR/LF )( 段 )( DOS 文件)
^r 匹配一個(gè)換行符 ( CR 僅僅 )( 段 )( MAC 文件)
^n 匹配一個(gè)換行符 ( LF 僅僅 )( 段 )( UNIX 文件)
^t 匹配一個(gè)標(biāo)簽TAB字符
下面是我要實(shí)現(xiàn)的一段代碼查詢替換的舉例
有這樣一段代碼分布在各個(gè)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 -->
我要把上面一段代碼替換為空,于是編寫(xiě)下面的匹配規(guī)則
<!– Copyright[^!]*[^>]*>
即完成了全部替換。
常用的正則表達(dá)式
刪除空行:替換%[^t]++^p為空串
刪除行尾空格:替換[^t]+$為空串
刪除行首空格:替換%[^t]+為空串
每行設(shè)置為固定的4個(gè)空格開(kāi)頭:替換%[^t]++^([~^t^p]^)為”^1″
每段設(shè)置為固定的4個(gè)空格開(kāi)頭:替換%[^t]+為”"
(如果一行是以空格開(kāi)始的,則視之為一段的開(kāi)始行)
將一段合并為一行:替換[^t]++^p^([~^t^p]^)為^1
(注意:此處假定文本是以DOS方式回車換行-CR/LF)
去掉HTMLTAG:替換^{<*>^}^{<*^p*>^}為空串
刪除HTML中的所有:替換<[]++a*[]++href[]++=*>為空串
刪除文本中指定的前2列字符:替換%??為空串
在第4列后插入2列空白字符:替換%^(????^)^(?^)為”^1^2″
查找所有的數(shù)字:[0-9]+[.]++[0-9]+
查找所有的單詞:[a-z]+
查找所有的網(wǎng)址:http://[a-z0-9^~`_./^-^?=&]+
注意:替換的時(shí)候需要勾選使用正則表達(dá)式選項(xiàng)
% 匹配行首 - 表明要搜索的字符串一定在行首.
$ 匹配行尾 - 表明要搜索的字符串一定在行尾
? 匹配除換行符外的任一單個(gè)字符.
* 匹配任意個(gè)數(shù)的字符出現(xiàn)任意次數(shù)(不包括換行符)
+ 匹配前導(dǎo)字符或者表達(dá)式出現(xiàn)一次或者更多次(不包括換行符)
++ 匹配前導(dǎo)字符或者表達(dá)式不出現(xiàn)或者出現(xiàn)一次以上(不包括換行符)
^b 匹配頁(yè)中斷符
^p 匹配DOS文件的換行符
^r 匹配MAC文件的換行符(CR Only)
^n 匹配UNIX文件的換行符 (LF Only)
^t 匹配一個(gè)制表符
[ ] 匹配方括號(hào)中的單個(gè)的字符
刪除空行: 替換 %[ ^t]++^p 為 空串
刪除行尾空格: 替換 [ ^t]+$ 為 空串
刪除行首空格: 替換 %[ ^t]+ 為 空串
每行設(shè)置為固定的4個(gè)空格開(kāi)頭: 替換 %[ ^t]++^([~ ^t^p]^) 為 " ^1"
每段設(shè)置為固定的4個(gè)空格開(kāi)頭: 替換 %[ ^t]+ 為 " "
(如果一行是以空格開(kāi)始的,則視之為一段的開(kāi)始行)
將一段合并為一行: 替換 [ ^t]++^p^([~ ^t^p]^) 為 ^1
(注意: 此處假定文本是以DOS方式回車換行 - CR/LF)
去掉HTML TAG: 替換 ^{<*>^}^{<*^p*>^} 為 空串
刪除HTML中的所有<A>: 替換 <[ ]++a *[ ]++href[ ]++=*> 為 空串
刪除文本中指定的前2列字符: 替換 %?? 為 空串
在第4列后插入2列空白字符: 替換 %^(????^)^(?^) 為 "^1 ^2"
查找所有的數(shù)字: [0-9]+[.]++[0-9]+
查找所有的單詞: [a-z]+
查找所有的網(wǎng)址: http://[a-z0-9^~`_./^-^?=&]+
注意: 替換的時(shí)候需要勾選使用正則表達(dá)式選項(xiàng)
在UltraEdit配置中的正則表達(dá)式引擎中挑上使用UltraEdit風(fēng)格,13版本使用Unix風(fēng)格不能使用正則表達(dá)式分組功能
從Ultraedit8.0一直使用到現(xiàn)在,感覺(jué)這個(gè)東東確實(shí)不錯(cuò)?,F(xiàn)將一些基本的經(jīng)驗(yàn)總結(jié)如下,與大家共享;歡迎有興趣的朋友前來(lái)補(bǔ)充。
Tip 0: 沒(méi)有注冊(cè)碼,如何有效使用Ultraedit呢?
很多人立即想到使用crack版,可實(shí)際追究起來(lái),那是違法的事情。實(shí)際上,Ultraedit并沒(méi)有把路子完全堵死。我們可以使用一些小技巧來(lái)屏蔽掉這個(gè)問(wèn)題。修改ultraedit的快捷方式,將命令行改為:E:uedit9UEDIT32.EXE p:,其中p:必須是你的機(jī)器上不存在的分驅(qū),這樣,就不會(huì)有試用時(shí)間結(jié)束的問(wèn)題了。
Tip 1: 如何去掉所編輯文本中包含特定字符串的行?
這則技巧是在UltraEdit的幫助文件里提到.CTRL+R 調(diào)出來(lái)替換(Replace)窗口,選中"使用正則表達(dá)式";然后用查找 %*你的字符串*^p 替換成空內(nèi)容即可.如,我當(dāng)前有個(gè)文本文件,需要去掉所有包含 http://www.baidu.net/ 這個(gè)字符串的行,查找 %*http://www.baidu.net/*^p 替換成空即可.注意,^p 是 DOS 文件類型的換行符.如果是 Unix 類型文件,則用 ^n.
Tip 2: 如何在行末添加特定字符,比如逗號(hào)?
有了上面的經(jīng)驗(yàn)(其實(shí)我第一次是從同事那里學(xué)到的),CTRL+R 調(diào)出來(lái)替換(Replace)窗口,選中"使用正則表達(dá)式".然后可以查找 ^p(或者^(guò)n,如果是Unix 文件),用 ,^p(或者,^n)進(jìn)行"全部替換"即可.補(bǔ)充一點(diǎn),如果是 MAC(Apple) 類型文件,則換行符號(hào)為 ^r .
Tip 3: 如何刪除空行?
參考上面兩個(gè)例子,查找 ^p$ 然后替換為空即可.
看來(lái),正則表達(dá)式需要學(xué)習(xí)一下嘍.
Tip 4: 編輯文件如何加入時(shí)間戳 ?
F7 快捷鍵即可.你試試看?
Tip 5: 為何 拷貝(Copy)/粘貼(Paste)功能不能用了?
不怕大家笑話,我有幾次使用 UltraEdit 的過(guò)程中發(fā)現(xiàn)拷貝與粘貼的內(nèi)容是不匹配的.不知所以然,干脆重新啟動(dòng)了筆記本.今天翻看手冊(cè)才恍然大悟:UltraEdit有10個(gè)剪切板(clipboard),分別用Ctrl+0 - Ctrl+9 切換. Ctrl+0 是 Windows 的,其他則為用戶自定義的.我在使用的過(guò)程中錯(cuò)調(diào)用了 CTRL+n, 結(jié)果內(nèi)容就有問(wèn)題了.你遇到過(guò)沒(méi)?
Tip 6: 即使是打開(kāi)小文件也有遲延?
這是我遇到過(guò)的問(wèn)題.每次打開(kāi)文件的時(shí)候總有幾秒鐘的耽擱.我的機(jī)器性能可不算差.怎么回事? 網(wǎng)絡(luò)打印機(jī)搞得鬼! 打開(kāi)"高級(jí)"->"設(shè)置"->"編輯器"->"高級(jí)",看看是不是選中了"載入/恢復(fù)打印機(jī)設(shè)置"?如果是的話,去掉(不同的版本/漢化與否可能該位置所在有差別).
Tip 7: 刪除當(dāng)前行內(nèi)容 CTRL+e
Tip 8: 你按一下快捷鍵ALT+c試試,變?yōu)榱芯庉嬆J?,可以一次輸入多行?nèi)容,只要你選好行范圍,編輯整齊的數(shù)據(jù)表非常合適。
Tip 9: 光標(biāo)位于某一行,按Ctrl+F2試試,有了標(biāo)簽了,多設(shè)幾個(gè),按住F2,它會(huì)往你設(shè)定的標(biāo)簽處跳來(lái)跳去,很好玩。
Tip 10: 暫時(shí)沒(méi)想出來(lái),有興趣的前來(lái)補(bǔ)充。
更多內(nèi)容整理中......
--如何在UltraEdit中配置Java編譯器和運(yùn)行指令:
方法:在Advanced -- Tool configuration 菜單的對(duì)話框里
1,配置javac
在command line里輸入:c:jdk1.3binjavac %f
注意:這里的javac路徑你要按你自己的來(lái)指定;%f是指當(dāng)前活動(dòng)文檔的全文件名,即“文件名.擴(kuò)展名",
因?yàn)閖ava程序在編譯時(shí)必須帶上擴(kuò)展名。如果你用了%F(大寫(xiě))是不對(duì)的,它只表示文件名而不帶擴(kuò)展名
(對(duì)于java運(yùn)行命令是這樣的)。在Menu Item Name 里輸入javac ,它出現(xiàn)在菜單里,這樣你就知道它是
用來(lái)編譯的。然后選擇output to list box 和 capture output,這樣當(dāng)編譯錯(cuò)誤的時(shí)候你就可以在源代碼
的下面的output窗口里看到錯(cuò)誤信息了。
2,配置不帶參數(shù)的java運(yùn)行命令
在command line里輸入:java %n, 或者java %F,這兩個(gè)有時(shí)候不一樣,看你的環(huán)境怎么配置了,我是使用的前一個(gè)。
在Menu Item Name 里輸入: java -no parameter
并且選擇output to list box 和 capture output ,這樣當(dāng)運(yùn)行的時(shí)候,運(yùn)行結(jié)果顯示在output窗口里。
3,配置帶參數(shù)的java運(yùn)行命令
在command line里輸入:java %n%modify%
在Menu Item Name 里輸入: java -parameter,這樣當(dāng)你運(yùn)行的時(shí)候,它會(huì)有一個(gè)對(duì)話框要求你輸入?yún)?shù)
很多朋友都用過(guò)或者正在用UltraEdit,這個(gè)編輯器陪伴我也好幾年了,從很多地方影響著我寫(xiě)代碼的快捷鍵習(xí)慣,Ultraedit提供了非常豐富的編輯功能,其中非常重要的查找和替換功能一定大家都用過(guò),Ultraedit提供的查找替換功能非常方便和強(qiáng)大,可以在單獨(dú)文件里面查找替換,也可以在多個(gè)文件、多個(gè)目錄里面進(jìn)行查找替換。而我們?cè)谑褂眠@些查找替換功能的時(shí)候,一般都是針對(duì)某個(gè)字符串進(jìn)行,前兩天我要對(duì)一個(gè)目錄下(包含子目錄)所有的html文件中某一段代碼進(jìn)行查找替換,一下子不知道怎么操作了,由于長(zhǎng)期寫(xiě)程序用到正則表達(dá)式,于是猜想具備如此強(qiáng)大功能的Ultraedit一定也有這樣類似的匹配功能,于是點(diǎn)擊Help一看,果然不出所料,Ultraedit支持基本的正則表達(dá)式匹配查找和替換功能,這能滿足我們幾乎全部的需要了。
下面是對(duì)UltraEdit的Help中針對(duì)查找替換使用正則表達(dá)式部分的整理,最后還有我前兩天用到的一個(gè)多行代碼查找替換的例子。
Ultraedit在使用正則表達(dá)式進(jìn)行查找替換時(shí)有兩個(gè)可使用的語(yǔ)法集合。一個(gè)是 UltraEdit 的更早的版本被使用的原來(lái)的 UltraEdit 句法。另一個(gè)是”Unix”類型的正則表達(dá)式,這個(gè)集合在ultraedit的默認(rèn)配置中是沒(méi)有啟用的,需要在配置中找到search項(xiàng),啟用Unix類型的正則表達(dá)式。
語(yǔ)法集合一:
符號(hào) 功能
% 匹配行的開(kāi)始 - 顯示搜索字符串必須在行的開(kāi)始,但是在所選擇的結(jié)果字符串中不包括任何行終止字符。
$ 匹配行尾 - 顯示搜索字符串必須在行尾,但是在所選擇的結(jié)果字符串中不包括任何行終止字符。
? 除了換行符以外匹配任何單個(gè)的字符
* 除了換行符匹配任何數(shù)量的字符和數(shù)字
+ 前一字符匹配一個(gè)或多個(gè),但至少要出現(xiàn)一個(gè)
++ 前一字符匹配零個(gè)或多個(gè),但至少要出現(xiàn)一個(gè)
^b 匹配一個(gè)分頁(yè)
^p 匹配一個(gè)換行符(CR/LF)(段)(DOS文件)
^r 匹配一個(gè)換行符(CR 僅僅)(段)(MAC 文件)
^n 匹配一個(gè)換行符 ( LF 僅僅 )( 段 )( UNIX 文件 )
^t 匹配一個(gè)標(biāo)簽字符TAB
[] 匹配任何單個(gè)的字符,或在方括號(hào)中的范圍
^{A^}^{ B^} 匹配表達(dá)式A或 B
^ 重載其后的正規(guī)表達(dá)式字符
^(^) 括或標(biāo)注為用于替換命令的表達(dá)式。
一個(gè)正則表達(dá)式最多可以有9個(gè)標(biāo)注表達(dá)式, 按正規(guī)表達(dá)式的需要而定。
相應(yīng)的替換表達(dá)式是 ^x , 替換范圍x是1-9。例如:
If ^(h*o^) ^(f*s^) matches “hello folks”,
^2 ^1 would replace it with “folks hello”.
(hello folks 將被替換成 folks hello。)
注: ^ 是實(shí)際字符 ^不是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] 匹配每個(gè)小寫(xiě)元音。
[,.?] 匹配一文字的 “,”,”.”或 “?”。
[0-9, a-z] 匹配任何數(shù)位,或小寫(xiě)字母。
[~0-9] 除了數(shù)字以外匹配任何字符 (~ 意味著”不”)
你按如下方式可以查找一個(gè)表達(dá)式A或 B :
“^{John^}^{Tom^}”
這將在找John或Tom的出現(xiàn)。應(yīng)該在 2 個(gè)表達(dá)式之間沒(méi)有任何東西。
你可以在同一搜索中按如下方式組合A or B and C or D:
“^{John^}^{Tom^}^{Smith^}^{Jones^}”
這將在John or Tom 后面找 Smith or Jones。
語(yǔ)法二:”Unix”句法類型的正則表達(dá)式
符號(hào) 功能
\ 標(biāo)記下一個(gè)字符作為一個(gè)特殊的字符。
"n" 匹配字符"n"。"n" 一個(gè)換行符或換行符字符。
^ 匹配/定位行的開(kāi)始。
$ 匹配/定位行的尾。
* 匹配前面的字符零次或多次。例
+ 匹配前面的字符一次或多次。例
. 匹配除了一個(gè)換行符字符匹配任何單個(gè)的字符。
(expression)標(biāo)注用于替換命令的表達(dá)式。一個(gè)正則表達(dá)式根據(jù)需要,最多可以有9個(gè)標(biāo)注表達(dá)式。相應(yīng)的代替表達(dá)式是 x , x的范圍是 1-9 。
例如:
If (h.*o) (f.*s) matches “hello folks”,
2 1 would replace it with “folks hello”.
(hello folks 將被替換成 folks hello。)
[xyz] 一個(gè)字符集。匹配在方括號(hào)之間的任何字符。
[^xyz] 一個(gè)否定的字符集。不匹配在方括號(hào)之間的任何字符。
\d 匹配一個(gè)數(shù)字字符。等價(jià)于[0-9]。
\D 匹配一個(gè)非數(shù)字字符。等價(jià)于[^0-9]。
\f 匹配一個(gè)換頁(yè)字符。
\n 匹配一個(gè)換行字符。
\r 匹配一個(gè)回車符字符。
\s 匹配任何空白的空格, 標(biāo)簽, 換頁(yè), 包括空格等等,但不匹配換行符。
\S 匹配任何非空白的字符,但不匹配換行符。
\t 匹配一個(gè)標(biāo)簽TAB字符。
\v 匹配一個(gè)垂直的標(biāo)簽字符。
\w 匹配任何詞語(yǔ)字符包括下劃線。
\W 匹配任何非詞語(yǔ)字符字符。
注: ^ 是實(shí)際字符 ^不是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] 匹配每個(gè)小寫(xiě)元音。
[,.?] 匹配一文字的 “,”,”.”或 “?”。
[0-9,a-z] 匹配任何數(shù)位,或小寫(xiě)字母。
[^0-9] 除了數(shù)字以外匹配任何字符 (~ 意味著”不”)
你按如下方式可以查找一個(gè)表達(dá)式A或 B :
“(John)|(Tom)”
這將在找John或Tom的出現(xiàn)。應(yīng)該在 2 個(gè)表達(dá)式之間沒(méi)有任何東西。
你可以在同一搜索中按如下方式組合A or B and C or D:
“(John|Tom) (Smith|Jones)”
這將在John or Tom 后面找 Smith or Jones。
另外:
p 匹配 CR/LF ( 作為 rn 的一樣 ) 作為DOS行結(jié)束符匹配
如果查找/替換功能中正則表達(dá)式?jīng)]有選用,則替換字段中下列字符也是有效的:
符號(hào) 功能
^^ 匹配一個(gè) “^” 字符
^s 替換為被選擇 ( 加亮 ) 活躍的文件窗口的文章。
^c 替換為剪貼板的內(nèi)容
^b 匹配一個(gè)頁(yè)裂縫
^p 匹配一個(gè)換行符 ( CR/LF )( 段 )( DOS 文件)
^r 匹配一個(gè)換行符 ( CR 僅僅 )( 段 )( MAC 文件)
^n 匹配一個(gè)換行符 ( LF 僅僅 )( 段 )( UNIX 文件)
^t 匹配一個(gè)標(biāo)簽TAB字符
下面是我要實(shí)現(xiàn)的一段代碼查詢替換的舉例
有這樣一段代碼分布在各個(gè)html文件中
復(fù)制代碼
代碼如下:<!-- 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 -->
我要把上面一段代碼替換為空,于是編寫(xiě)下面的匹配規(guī)則
<!– Copyright[^!]*[^>]*>
即完成了全部替換。
常用的正則表達(dá)式
刪除空行:替換%[^t]++^p為空串
刪除行尾空格:替換[^t]+$為空串
刪除行首空格:替換%[^t]+為空串
每行設(shè)置為固定的4個(gè)空格開(kāi)頭:替換%[^t]++^([~^t^p]^)為”^1″
每段設(shè)置為固定的4個(gè)空格開(kāi)頭:替換%[^t]+為”"
(如果一行是以空格開(kāi)始的,則視之為一段的開(kāi)始行)
將一段合并為一行:替換[^t]++^p^([~^t^p]^)為^1
(注意:此處假定文本是以DOS方式回車換行-CR/LF)
去掉HTMLTAG:替換^{<*>^}^{<*^p*>^}為空串
刪除HTML中的所有:替換<[]++a*[]++href[]++=*>為空串
刪除文本中指定的前2列字符:替換%??為空串
在第4列后插入2列空白字符:替換%^(????^)^(?^)為”^1^2″
查找所有的數(shù)字:[0-9]+[.]++[0-9]+
查找所有的單詞:[a-z]+
查找所有的網(wǎng)址:http://[a-z0-9^~`_./^-^?=&]+
注意:替換的時(shí)候需要勾選使用正則表達(dá)式選項(xiàng)
相關(guān)文章
解決UltraEdit在UTF-8編碼下的亂碼問(wèn)題
最近寫(xiě)幾個(gè)自定義的xml配置文件,開(kāi)頭如此:,結(jié)果保存后的文件再使用UE打開(kāi)時(shí)中文內(nèi)容便成了亂碼,甚是郁悶2012-03-12- 用UltraEdit+正則表達(dá)式刪除空行的方法,需要的朋友可以參考下。2011-01-03
- 查找操作 1.ctrl+b 寫(xiě)程序的時(shí)候,括號(hào)一般要一一對(duì)應(yīng)的,但是如果嵌套太多,看花眼了,怎么辦?你把光標(biāo)放在括號(hào)開(kāi)始的地方,按ctrl+b,UE 會(huì)幫你找到相對(duì)應(yīng)的括號(hào)結(jié)尾的2009-08-27
- UltraEdit是眾多IDE中頗有亮點(diǎn)的一款,它功能強(qiáng)大,這里說(shuō)一下它的一些很好用的功能2012-05-03
UltraEdit正則表達(dá)式介紹及實(shí)例分享
下面是對(duì)UltraEdit的Help中針對(duì)查找替換使用正則表達(dá)式部分的整理,最后還有我前兩天用到的一個(gè)多行代碼查找替換的例子2012-10-28- UltraEdit是一套功能強(qiáng)大的文本編輯器,可以編輯文本、十六進(jìn)制、ASCII碼,可以取代記事本等等,功能很多,下面我們來(lái)看看UltraEdit常用快捷鍵有哪些2014-10-24
- ue編輯器怎么用?想知道的朋友就和小編一起來(lái)看看ultraedit文本編輯器使用方法吧2014-10-24