在UltraEdit的查找和替換中使用正則表達式 (轉)

很多朋友都用過或者正在用UltraEdit,這個編輯器陪伴我也好幾年了,從很多地方影響著我寫代碼的快捷鍵習慣,Ultraedit提供了非常豐富的編輯功能,其中非常重要的查找和替換功能一定大家都用過,Ultraedit提供的查找替換功能非常方便和強大,可以在單獨文件里面查找替換,也可以在多個文件、多個目錄里面進行查找替換。而我們在使用這些查找替換功能的時候,一

LiveJournal Tags: 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字符

下面是我要實現的一段代碼查詢替換的舉例
我想把一個.lrc文件中的漢字去掉:

[ti:046]
[ar:Book I]
[al:english900]
[la:zh]
[by:]
[00:00.00][4] Identifying objects.辨別物品
[00:00.00]
[00:00.01]What are these? 這些是什么?
[00:01.93]Those are books. 那些是書。
[00:03.87]Where are the books? 那些書在哪兒?
[00:06.13]There they are. 在那兒。
[00:08.68]These are my pencils. 這些是我的鉛筆。
[00:12.00]Where are your pens? 你的那些鋼筆在哪兒?
[00:14.85]They're over there. 在那里。
[00:17.48]Are these your pens? 這些是你的鋼筆嗎?
[00:20.04]Yes,they are. 是我的。
[00:22.63]Those are mine. 那些是我的。
[00:25.39]These are your books,aren't they? 這些書是你的,對不對?
[00:28.35]No,they aren't. 不,不是。
[00:31.07]They're not mine. 不是我的。
[00:33.39]These are mine,and those are yours. 這些是我的,而那些是你的。
[00:35.57]Those aren't your pens,are they? 那些鋼筆不是你的,對吧?
[00:36.38]

點"搜索"->"替換",選中"正則表達式"

查找:^([/./?]^) ?++$

替換為:^1

點“全部替換”,完成。

大家可以在今后的編碼中嘗試一下Ultraedit的正則表達式查找替換功能,非常簡單快捷

轉載于:https://www.cnblogs.com/runningwater-table/p/5567830.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255123.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255123.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255123.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基本 TCP 套接字編程講解

基于 TCP 的套接字編程的所有客戶端和服務器端都是從調用socket 開始&#xff0c;它返回一個套接字描述符。客戶端隨后調用connect 函數&#xff0c;服務器端則調用 bind、listen 和accept 函數。 使用套接口客戶機服務器的的例子 sever.c #include <stdio.h> #include &…

HALCON示例程序inspect_bga.hdev測量bga焊點缺陷

HALCON示例程序inspect_bga.hdev測量bga焊點缺陷 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 read_image (Image, ‘bga_14x14_model’) get_image_pointer1 (Image, Pointer, Type, Width, Height) dev_update_off () dev_close_window () dev_open_win…

怎樣屏蔽微信朋友圈視頻?局域網如何禁止員工看朋友圈視頻?

上班時間刷刷朋友圈&#xff0c;一眨眼半小時就過去了。不但會影響工作效率&#xff0c;而且朋友圈的視頻會占用大量的帶寬。所以對企業管理人員來說&#xff0c;很多時候需要禁止員工在工作時段刷朋友圈。但是行政手段要和技術手段配合&#xff0c;才可以發揮真正的作用。本文…

cf414B(dp)

題目鏈接&#xff1a;http://codeforces.com/problemset/problem/414/B 題意&#xff1a;定義所有元素是其前一個元素的倍數的數列為good sequence&#xff0c;給出 n, 和 k&#xff0c;求1....n組成的長度為k的good sequence 的數目&#xff1b; 思路&#xff1a;dp 用dp[i][j…

安裝IIS

安裝IIS過程中我們需要很多系統文件,這個時候我們就要下載一個非GHOST版本的系統安裝文件就可以了, 雨林木風安裝版8.0 http://dx.lwkb.com/setup/YlmF_XPSP3_YS8.0F/YlmF_XPSP3_YS8.0F.iso 這個不錯 轉載于:https://www.cnblogs.com/toSeeMyDream/p/5574884.html

深入理解C++的動態綁定和靜態綁定

為了支持c的多態性&#xff0c;才用了動態綁定和靜態綁定。理解他們的區別有助于更好的理解多態性&#xff0c;以及在編程的過程中避免犯錯誤。需要理解四個名詞&#xff1a;1、對象的靜態類型&#xff1a;對象在聲明時采用的類型。是在編譯期確定的。2、對象的動態類型&#x…

增量值編碼器、單圈絕對值編碼器、多圈絕對值編碼器

主流的伺服電機位置反饋元件包括增量值編碼器&#xff0c;單圈絕對值編碼器&#xff0c;多圈絕對值編碼器&#xff0c;旋轉變壓器等。下面分別介紹&#xff1a; 增量值編碼器增量式編碼器是將位移轉換成周期性的電信號&#xff0c;再把這個電信號轉變成計數脈沖&#xff0c;用…

HALCON示例程序inspect_bottle_mouth.hdev玻璃瓶口缺陷檢測

HALCON示例程序inspect_bottle_mouth.hdev玻璃瓶口缺陷檢測 示例程序源碼&#xff08;加注釋&#xff09; 定義變量并初始化 SmoothX : 501 ThresholdOffset : 25 MinDefectSize : 50 PolarResolution : 640 RingSize : 70 get_system (‘store_empty_region’, StoreEmptyReg…

靜態主席樹總結(靜態區間的k大)

靜態主席樹總結(靜態區間的&#xff4b;大) 首先我們先來看一道題 給定N個正整數構成的序列&#xff0c;將對于指定的閉區間查詢其區間內的第K小值。 輸入格式&#xff1a; 第一行包含兩個正整數N、M&#xff0c;分別表示序列的長度和查詢的個數。 第二行包含N個正整數&a…

Java中MySQL事務處理舉例

實例&#xff08;以sql語句中的insert語句為例&#xff09; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;/*** 事務的基本用法**/ …

永磁交流伺服電機的工作原理與更換新編碼器后的常規零位校正方法

http://wuhuotun.blog.163.com/blog/static/73085450200910655748516/ 永磁交流伺服電機的編碼器相位為何要與轉子磁極相位對齊 其唯一目的就是要達成矢量控制的目標&#xff0c;使d軸勵磁分量和q軸出力分量解耦&#xff0c;令永磁交流伺服電機定子繞組產生的電磁場始終正交于…

理解Java中字符流與字節流的區別

1. 什么是流 Java中的流是對字節序列的抽象&#xff0c;我們可以想象有一個水管&#xff0c;只不過現在流動在水管中的不再是水&#xff0c;而是字節序列。和水流一樣&#xff0c;Java中的流也具有一個“流動的方向”&#xff0c;通常可以從中讀入一個字節序列的對象被稱為輸入…

HALCON示例程序inspect_solar_fingers.hdev太陽能電池板電路缺陷檢測

HALCON示例程序inspect_solar_fingers.hdev太陽能電池板電路缺陷檢測 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () ImageName : ‘solar_cell/solar_cell_’ read_image (Image, ImageName ‘01’) dev_open_win…

C++多線程 例子

C多線程 例子2008-08-21 15:11//這是2個線程模擬賣火車票的小程序#include <windows.h>#include <iostream.h>DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread dataDWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread dataintindex0;inttickets10;HANDLE hM…

2018/03/25

2019獨角獸企業重金招聘Python工程師標準>>> March 25 2018 Sunday Weather&#xff1a;cloudy 1、需求&#xff1a; a0.5 b3 ca*b 求c的值&#xff1a; [rootDasoncheng sbin]# cat a.sh #!/bin/bash a0.5 b3 cecho $a*$b |bc echo $canswer referred&#xff1a;…

統計字符串中每種字符類型的個數demo

/** 統計字符串中每中字符類型的個數&#xff0c;思路&#xff1a;* 1、鍵盤錄入一個字符串* 2、獲取到每個字符&#xff0c;遍歷字符串* for (int i 0; i < s.length(); i) {char ch s.charAt(i);* 3、判斷每個字符屬于哪種類型&#xff0c;對應的個數*/package cn.strin…

css3 圖片放大縮小閃爍效果

直接把圖片替換就可以了&#xff0c;我的圖片是透明的&#xff0c;所以body設置為黑色的&#xff0c;不不要可以去掉 <!doctype html><html lang"en"><head> <meta charset"UTF-8"> <title>css3 圖片放大縮小閃爍效果</t…

HALCON示例程序max_connection.hdev確定分割區域的最大區域數目

HALCON示例程序max_connection.hdev確定分割區域的最大區域數目 示例程序源碼&#xff08;加注釋&#xff09; read_image (Image, ‘monkey’) get_system (‘max_connection’, Information) set_system (‘max_connection’, 0) threshold (Image, Region, 128, 255) 區域…

elasticsearch分詞聚合查詢demo

2019獨角獸企業重金招聘Python工程師標準>>> 我們在通過elasticsearch查詢text類型的字段時&#xff0c;我們使用aggs進行聚合某個text類型field。這時elasticsearch會自動進行分詞將分詞后的結果進行聚合。獲取每一個分詞出現在文檔的文檔個數。注意&#xff1a;是…

軟件工程進度條-第十五周

第十五周 所花時間&#xff08;包括上課&#xff09; 23 代碼量&#xff08;行&#xff09; 1200 博客量&#xff08;篇&#xff09; 6 了解到的知識點 1、了解ListView的基本用法&#xff0c;并改變焦點觸碰事件&#xff1b; 2、理解團隊開發后進行軟件項目總結的益處…