UE中使用正規表示式的一些技巧

2021-09-02 10:09:47 字數 2606 閱讀 2542

以下是網上摘錄的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...