国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 軟件教程 > 正文

在UltraEdit中使用正則表達式

2020-07-13 14:01:10
字體:
來源:轉載
供稿:網友
正則表達式 (UltraEdit Syntax):
% 匹配行首 - 表明要搜索的字符串一定在行首.
$ 匹配行尾 - 表明要搜索的字符串一定在行尾
? 匹配除換行符外的任一單個字符.
* 匹配任意個數的字符出現任意次數(不包括換行符)
+ 匹配前導字符或者表達式出現一次或者更多次(不包括換行符)
++ 匹配前導字符或者表達式不出現或者出現一次以上(不包括換行符)
^b 匹配頁中斷符
^p 匹配DOS文件的換行符
^r 匹配MAC文件的換行符(CR Only)
^n 匹配UNIX文件的換行符 (LF Only)
^t 匹配一個制表符
[ ] 匹配方括號中的單個的字符


刪除空行: 替換 %[ ^t]++^p 為 空串

刪除行尾空格: 替換 [ ^t]+$ 為 空串

刪除行首空格: 替換 %[ ^t]+ 為 空串

每行設置為固定的4個空格開頭: 替換 %[ ^t]++^([~ ^t^p]^) 為 " ^1"

每段設置為固定的4個空格開頭: 替換 %[ ^t]+ 為 " "
(如果一行是以空格開始的,則視之為一段的開始行)

將一段合并為一行: 替換 [ ^t]++^p^([~ ^t^p]^) 為 ^1
(注意: 此處假定文本是以DOS方式回車換行 - CR/LF)

去掉HTML TAG: 替換 ^{<*>^}^{<*^p*>^} 為 空串

刪除HTML中的所有<A>: 替換 <[ ]++a *[ ]++href[ ]++=*> 為 空串

刪除文本中指定的前2列字符: 替換 %?? 為 空串

在第4列后插入2列空白字符: 替換 %^(????^)^(?^) 為 "^1 ^2"

查找所有的數字: [0-9]+[.]++[0-9]+

查找所有的單詞: [a-z]+

查找所有的網址: http://[a-z0-9^~`_./^-^?=&]+

注意: 替換的時候需要勾選使用正則表達式選項
在UltraEdit配置中的正則表達式引擎中挑上使用UltraEdit風格,13版本使用Unix風格不能使用正則表達式分組功能

從Ultraedit8.0一直使用到現在,感覺這個東東確實不錯。現將一些基本的經驗總結如下,與大家共享;歡迎有興趣的朋友前來補充。

Tip 0: 沒有注冊碼,如何有效使用Ultraedit呢?
很多人立即想到使用crack版,可實際追究起來,那是違法的事情。實際上,Ultraedit并沒有把路子完全堵死。我們可以使用一些小技巧來屏蔽掉這個問題。修改ultraedit的快捷方式,將命令行改為:E:uedit9UEDIT32.EXE p:,其中p:必須是你的機器上不存在的分驅,這樣,就不會有試用時間結束的問題了。

Tip 1: 如何去掉所編輯文本中包含特定字符串的行? 
這則技巧是在UltraEdit的幫助文件里提到.CTRL+R 調出來替換(Replace)窗口,選中"使用正則表達式";然后用查找 %*你的字符串*^p 替換成空內容即可.如,我當前有個文本文件,需要去掉所有包含 http://www.baidu.net/ 這個字符串的行,查找 %*http://www.baidu.net/*^p 替換成空即可.注意,^p 是 DOS 文件類型的換行符.如果是 Unix 類型文件,則用 ^n.

Tip 2: 如何在行末添加特定字符,比如逗號?
有了上面的經驗(其實我第一次是從同事那里學到的),CTRL+R 調出來替換(Replace)窗口,選中"使用正則表達式".然后可以查找 ^p(或者^n,如果是Unix 文件),用 ,^p(或者,^n)進行"全部替換"即可.補充一點,如果是 MAC(Apple) 類型文件,則換行符號為 ^r .

Tip 3: 如何刪除空行?
參考上面兩個例子,查找 ^p$ 然后替換為空即可.
看來,正則表達式需要學習一下嘍.

Tip 4: 編輯文件如何加入時間戳 ?
F7 快捷鍵即可.你試試看?

Tip 5: 為何 拷貝(Copy)/粘貼(Paste)功能不能用了?
不怕大家笑話,我有幾次使用 UltraEdit 的過程中發現拷貝與粘貼的內容是不匹配的.不知所以然,干脆重新啟動了筆記本.今天翻看手冊才恍然大悟:UltraEdit有10個剪切板(clipboard),分別用Ctrl+0 - Ctrl+9 切換. Ctrl+0 是 Windows 的,其他則為用戶自定義的.我在使用的過程中錯調用了 CTRL+n, 結果內容就有問題了.你遇到過沒?

Tip 6: 即使是打開小文件也有遲延?
這是我遇到過的問題.每次打開文件的時候總有幾秒鐘的耽擱.我的機器性能可不算差.怎么回事? 網絡打印機搞得鬼! 打開"高級"->"設置"->"編輯器"->"高級",看看是不是選中了"載入/恢復打印機設置"?如果是的話,去掉(不同的版本/漢化與否可能該位置所在有差別).

Tip 7: 刪除當前行內容 CTRL+e

Tip 8: 你按一下快捷鍵ALT+c試試,變為列編輯模式,可以一次輸入多行內容,只要你選好行范圍,編輯整齊的數據表非常合適。

Tip 9: 光標位于某一行,按Ctrl+F2試試,有了標簽了,多設幾個,按住F2,它會往你設定的標簽處跳來跳去,很好玩。

Tip 10: 暫時沒想出來,有興趣的前來補充。
更多內容整理中......

--如何在UltraEdit中配置Java編譯器和運行指令:

方法:在Advanced -- Tool configuration 菜單的對話框里
1,配置javac
在command line里輸入:c:jdk1.3binjavac %f
注意:這里的javac路徑你要按你自己的來指定;%f是指當前活動文檔的全文件名,即“文件名.擴展名",
因為java程序在編譯時必須帶上擴展名。如果你用了%F(大寫)是不對的,它只表示文件名而不帶擴展名
(對于java運行命令是這樣的)。在Menu Item Name 里輸入javac ,它出現在菜單里,這樣你就知道它是
用來編譯的。然后選擇output to list box 和 capture output,這樣當編譯錯誤的時候你就可以在源代碼
的下面的output窗口里看到錯誤信息了。
2,配置不帶參數的java運行命令
在command line里輸入:java %n, 或者java %F,這兩個有時候不一樣,看你的環境怎么配置了,我是使用的前一個。
在Menu Item Name 里輸入: java -no parameter
并且選擇output to list box 和 capture output ,這樣當運行的時候,運行結果顯示在output窗口里。
3,配置帶參數的java運行命令
在command line里輸入:java %n%modify%
在Menu Item Name 里輸入: java -parameter,這樣當你運行的時候,它會有一個對話框要求你輸入參數

很多朋友都用過或者正在用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
^ 重載其后的正規表達式字符
^(^) 括或標注為用于替換命令的表達式。

一個正則表達式最多可以有9個標注表達式, 按正規表達式的需要而定。

相應的替換表達式是 ^x , 替換范圍x是1-9。例如:

If ^(h*o^) ^(f*s^) matches “hello folks”,
^2 ^1 would replace it with “folks hello”.
(hello 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”.
(hello folks 將被替換成 folks hello。)
[xyz] 一個字符集。匹配在方括號之間的任何字符。
[^xyz] 一個否定的字符集。不匹配在方括號之間的任何字符。
/d 匹配一個數字字符。等價于[0-9]。
/D 匹配一個非數字字符。等價于[^0-9]。
/f 匹配一個換頁字符。
/n 匹配一個換行字符。
/r 匹配一個回車符字符。
/s 匹配任何空白的空格, 標簽, 換頁, 包括空格等等,但不匹配換行符。
/S 匹配任何非空白的字符,但不匹配換行符。
/t 匹配一個標簽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 -->

我要把上面一段代碼替換為空,于是編寫下面的匹配規則
<!– Copyright[^!]*[^>]*>
即完成了全部替換。
常用的正則表達式
刪除空行:替換%[^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^~`_./^-^?=&]+
  注意:替換的時候需要勾選使用正則表達式選項
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇巴县| 都昌县| 施甸县| 盐边县| 迁西县| 双鸭山市| 南和县| 武安市| 吴旗县| 娄底市| 天台县| 保康县| 武宣县| 都兰县| 滦南县| 陆河县| 许昌县| 莲花县| 怀安县| 贡觉县| 麻江县| 五大连池市| 迭部县| 肇州县| 德阳市| 河间市| 红河县| 杭锦旗| 湘潭县| 秭归县| 乐业县| 平罗县| 永善县| 新安县| 宜都市| 正宁县| 保康县| 上蔡县| 增城市| 保山市| 西乌|