一、基礎篇
1.
^ 匹配行首,比如說查找^s, 就是查位于行首的 s
2.
.*?$ 這個用處比較大,但一般不單獨使用,比如與上面的結(jié)合
比如 ^s.*?$,就是查以 s 為行首的行,其中 .* 是匹配任意字符,$ 代表行尾,?$ 是告訴程序你要定位到行尾。
3.
/n 這個很簡單,就是換行符,用得也非常多,
比如 “/n”,替換成“/n”,就是把2個換行符替換成1個。
練習:
bas,bat =to,go(走)
chlor =green or chlorine(綠,氯)
chol =gallbladder(膽)
chondrio =cartilage(軟骨)
erg =energe(能量)
err =to wander(流浪;漂泊),to err(偏離正道,犯錯,犯罪)
ess,est =to be(存在)
est,ess =to be(存在)
a. 查找行首的a、e、c等字符;
^a|^e|^c
b. 查找以c開頭的行,不包括換行符;
^c.*?$
c. 查找以e開頭的行,包括換行符;
^e.*/n
d. 查找兩個相連的換行符,將它替換成一個;
/n
/n
4.
/s 是表示一個半角空格(半角和全角看不懂的請先google一下),
/t 指的是一個TAB空格,不清楚的話在Emeditor里敲一次TAB鍵,出來的就是它了。
查 /s 的時候是包括TAB空格的,但查 /t 的時候卻不能包括半角空格,其實這兩個都非常有用。
/s 與 /n 連用,那就是非常實用的查行尾空格的表示法了
5.
{1,n} 大括號內(nèi)的數(shù)字是表示數(shù)量的范圍,它的前面必須有個東西,比如說“/s{1,3}”就表示1到3個空格通吃,
如果用“/s{3}”呢,就意味著3個空格
6.
[a-z] 表示26個字母中的任一個,如果在替換窗口內(nèi)勾選“區(qū)分大小寫”則表示26個小寫字母,否則大小寫通吃。
練習:
acousto =sound(聲音)
acro = high(高)
act =do(行動)
acuti = acuate (尖的,尖銳的)
acousto = sound(聲音)
aer,aero,ar,aro=air(空氣)
after =(在……之后)
1)刪除下列文本中的行首空格(請結(jié)合上一練習);
^/s*
2)刪除行尾空格;
/s*$
3)將文本中的TAB空格替換成半角空格;
4)查找任意相連的四個字母;
[a-z]{4}
5)查找位于行首的長度為3-5個字母的單詞(注意必須是完整單詞,這題稍微要動動腦筋,找一下規(guī)律)。
^[a-z]{3,5}
小結(jié):使用正則表達式來處理文檔,最大的關鍵在于仔細去分析文檔中的規(guī)律,只要有規(guī)律可以利用,我們就能進行批量處理,工作效率就是這么提高的。一定要多想,更重要的是多試,有時候想半小時還不如實際動手操作5分鐘。
7.
[] 就是上面的[a-z]往下講,用中括號括起來表示括號某一個字符,你也可以這樣表示:[abc],意思是a、b、c三個字母中任一個都行。
新聞熱點
疑難解答
圖片精選