以下是網上摘錄的ue 技巧
1)刪除空行: 替換 %[ ^t]++^p 為 空串
2)刪除行尾空格: 替換 [ ^t]+$ 為 空串
3)刪除行首空格: 替換 %[ ^t]+ 為 空串
4)每行設定為固定的4個空格開頭: 替換 %[ ^t]++^([~ ^t^p]^) 為 " ^1"
5)每段設定為固定的4個空格開頭: 替換 %[ ^t]+ 為 " " (如果一行是以空格開始的,則視之為一段的開始行)
6)將一段合併為一行: 替換 [ ^t]++^p^([~ ^t^p]^) 為 ^1 (注意: 此處假定文字是以dos方式回車換行 - cr/lf)
7)去掉html tag: 替換 ^^ 為 空串
8)刪除html中的所有: 替換 為 空串
9)刪除文字中指定的前2列字元: 替換 %?? 為 空串
10)在第4列後插入2列空白字元: 替換 %^(????^)^(?^) 為 "^1 ^2"
11)查詢所有的數字: [0-9]+[.]++[0-9]+
12)查詢所有的單詞: [a-z]+
13)查詢所有的**: http://[a-z0-9^~`_./^-^?=&]+
ultraedit正規表示式(ultraedit syntax)
%1 搜尋以1開頭的行
1$ 搜尋以1為結尾的行
? 匹配單字元
* 匹配多字元
te+st 匹配"test", "teest", "teeeest" 等. 但不匹配 "tst".
te++st 匹配"test", "teest", "teeeest","tst" 等. 但不匹配 .
^p 新行 (dos files格式)
^r 新行 (mac files格式)
^n 新行 (unix files格式)
^t tab鍵
[1-9] 匹配1-9的數字
[linux] 匹配linux中任何乙個單詞
[~0-9] 除數字外任何乙個詞
"^^" 搜尋john和tom 如john sdfasdf tom被選種,當然不包括sdfasdf,其中^是分割符
以下是自己做的例子:
1:替換空格或tab後的所有字元(這個常常在取字段列名時有用到,因為用desc列出來的資訊降了列名外還有列型別,列空約束和列注釋資訊):
命令:將[ ^t]+*$替換為空
1.1:替換前,圖1.1:
1.2:用crtl+r調出替換視窗,然後按下面的輸入,替換,圖1.2(注意,此處要選擇正規表示式,預設情況下不勾選):
1.3:替換後,圖1.3:
從替換結果來看,說明查詢的順序是從前到後,替換是從第乙個開始查詢到的字元位置開始的。
依此遞推,當我們想將特定字串後的內容替換為特定內容或者空時,,只需將%*替換成空為可以了。
2、替換含有空格或tab鍵前的所有內容
操作:將%*[ ^t]替換為空
2.1替換前,如圖1.1
2.2替換後,圖2.2:
依此遞推,當我們想將特定字串前的內容替換為特定內容或者空時,只需將+*$替換成空為可以了。
3、空行或僅含有空格和tab鍵的行
操作:將%[ ^t]++^p替換為空
3.1:替換前,圖3.1:
3.2:替換後,圖3.2:
依此遞推,如果想將僅含有特定字串的行刪除,也可採用%++^p替換為空為可以了
4、在行末新增;分號字元
操作:將$替換成;
4.1:替換前,如圖1.1。
4.2:替換後:
5、在行首新增新增4個空格:
操作:%替換成四個空格或者用ue的列塊模式
5.1:替換前,如圖1.1
5.2:替換後,圖5.2:
6、將含有varchar字串的行刪除:
操作:將%*varchar*^p替換成空
6.1:替換前,如圖1.1
6.2:替換後,圖6.2:
7、以;做分隔,進行分行處理
操作:將;替換成;^p
7.1:替換前,圖7.1:
7.2:替換後,圖7.2:
小結:
以上是一些常用的ue的正則式應用,在本人的工作中,常常是在生成建立或修改資料庫物件的sql語句時用到,它給我們平時的工作帶來很大的例行性。對於linux、unix和oracle 10g後的版本,都有對正規表示式的支援,語法上大同小異,使用正規表示式,會給我們的日誌文字處理和字串匹配帶來很大的便利性。工欲善其事,必行利其器。正規表示式,就是我們的日常工作的必備手段之一。
正規表示式使用的一些技巧
用正規表示式用了10年了,之前的總結一直以word形式,寫的零散總結都放在cnblog上面,特別想總結一下。中文名稱 名稱 非貪婪模式 找到第乙個 就停止 貪婪模式 直到找到正文的最後乙個 才停止 href 匹配以 href 開頭 以 結尾的字串,捕獲 儲存 到分組中 href 匹配以 href 開...
正規表示式的一些技巧
兩種形式的if then else 形如 regex then else 如果前向斷言匹配成功則必須匹配then部分,否則匹配else部分。四種斷言形式都可以使用。regex then else 正向先行斷言的形式。echo abcdefg perl pe s h b e g 該表示式比較白話的說,...
一些正規表示式
要嚴格的驗證手機號碼,必須先要清楚現在已經開放了哪些數字開頭的號碼段,目前國內號碼段分配如下 移動 134 135 136 137 138 139 150 151 157 td 158 159 187 188 聯通 130 131 132 152 155 156 185 186 電信 133 153...