正則入門連載?。ǐI(xiàn)給不及格的程序員們)第1/4頁
更新時間:2007年02月05日 00:00:00 作者:
正則表達(dá)式
通過與大多數(shù)讀者已經(jīng)熟悉的一些概念進(jìn)行比較,說明正則表達(dá)式的概念。
本篇內(nèi)容全部來是 微軟 公司 文檔
對此表示感謝,像那些為此而工作過的人們.
除非您以前使用過正則表達(dá)式,否則您可能不熟悉此術(shù)語。但是,毫無疑問,您已經(jīng)使用過不涉及腳本的某些正則表達(dá)式概念。
例如,您很可能使用 ? 和 * 通配符來查找硬盤上的文件。? 通配符匹配文件名中的單個字符,而 * 通配符匹配零個或多個字符。像 data?.dat 這樣的模式將查找下列文件:
data1.dat
data2.dat
datax.dat
dataN.dat
使用 * 字符代替 ? 字符擴(kuò)大了找到的文件的數(shù)量。data*.dat 匹配下列所有文件:
data.dat
data1.dat
data2.dat
data12.dat
datax.da
dataXYZ.dat
盡管這種搜索方法很有用,但它還是有限的。? 和 * 通配符的能力引入了正則表達(dá)式所依賴的概念,但正則表達(dá)式功能更強(qiáng)大,而且更加靈活。
正則表達(dá)式的用途
通過實(shí)例說明正則表達(dá)式如何擴(kuò)展常規(guī)搜索條件。
典型的搜索和替換操作要求您提供與預(yù)期的搜索結(jié)果匹配的確切文本。雖然這種技術(shù)對于對靜態(tài)文本執(zhí)行簡單搜索和替換任務(wù)可能已經(jīng)足夠了,但它缺乏靈活性,若采用這種方法搜索動態(tài)文本,即使不是不可能,至少也會變得很困難。
通過使用正則表達(dá)式,可以:
測試字符串內(nèi)的模式。
例如,可以測試輸入字符串,以查看字符串內(nèi)是否出現(xiàn)電話號碼模式或信用卡號碼模式。這稱為數(shù)據(jù)驗(yàn)證。
替換文本。
可以使用正則表達(dá)式來識別文檔中的特定文本,完全刪除該文本或者用其他文本替換它。
基于模式匹配從字符串中提取子字符串。
可以查找文檔內(nèi)或輸入域內(nèi)特定的文本。
例如,您可能需要搜索整個 Web 站點(diǎn),刪除過時的材料,以及替換某些 HTML 格式標(biāo)記。在這種情況下,可以使用正則表達(dá)式來確定在每個文件中是否出現(xiàn)該材料或該 HTML 格式標(biāo)記。此過程將受影響的文件列表縮小到包含需要刪除或更改的材料的那些文件。然后可以使用正則表達(dá)式來刪除過時的材料。最后,可以使用正則表達(dá)式來搜索和替換標(biāo)記。
正則表達(dá)式在 JScript 或 C 等語言中也很有用,這些語言的字符串處理能力還不為人們所知。
通過與大多數(shù)讀者已經(jīng)熟悉的一些概念進(jìn)行比較,說明正則表達(dá)式的概念。
本篇內(nèi)容全部來是 微軟 公司 文檔
對此表示感謝,像那些為此而工作過的人們.
除非您以前使用過正則表達(dá)式,否則您可能不熟悉此術(shù)語。但是,毫無疑問,您已經(jīng)使用過不涉及腳本的某些正則表達(dá)式概念。
例如,您很可能使用 ? 和 * 通配符來查找硬盤上的文件。? 通配符匹配文件名中的單個字符,而 * 通配符匹配零個或多個字符。像 data?.dat 這樣的模式將查找下列文件:
data1.dat
data2.dat
datax.dat
dataN.dat
使用 * 字符代替 ? 字符擴(kuò)大了找到的文件的數(shù)量。data*.dat 匹配下列所有文件:
data.dat
data1.dat
data2.dat
data12.dat
datax.da
dataXYZ.dat
盡管這種搜索方法很有用,但它還是有限的。? 和 * 通配符的能力引入了正則表達(dá)式所依賴的概念,但正則表達(dá)式功能更強(qiáng)大,而且更加靈活。
正則表達(dá)式的用途
通過實(shí)例說明正則表達(dá)式如何擴(kuò)展常規(guī)搜索條件。
典型的搜索和替換操作要求您提供與預(yù)期的搜索結(jié)果匹配的確切文本。雖然這種技術(shù)對于對靜態(tài)文本執(zhí)行簡單搜索和替換任務(wù)可能已經(jīng)足夠了,但它缺乏靈活性,若采用這種方法搜索動態(tài)文本,即使不是不可能,至少也會變得很困難。
通過使用正則表達(dá)式,可以:
測試字符串內(nèi)的模式。
例如,可以測試輸入字符串,以查看字符串內(nèi)是否出現(xiàn)電話號碼模式或信用卡號碼模式。這稱為數(shù)據(jù)驗(yàn)證。
替換文本。
可以使用正則表達(dá)式來識別文檔中的特定文本,完全刪除該文本或者用其他文本替換它。
基于模式匹配從字符串中提取子字符串。
可以查找文檔內(nèi)或輸入域內(nèi)特定的文本。
例如,您可能需要搜索整個 Web 站點(diǎn),刪除過時的材料,以及替換某些 HTML 格式標(biāo)記。在這種情況下,可以使用正則表達(dá)式來確定在每個文件中是否出現(xiàn)該材料或該 HTML 格式標(biāo)記。此過程將受影響的文件列表縮小到包含需要刪除或更改的材料的那些文件。然后可以使用正則表達(dá)式來刪除過時的材料。最后,可以使用正則表達(dá)式來搜索和替換標(biāo)記。
正則表達(dá)式在 JScript 或 C 等語言中也很有用,這些語言的字符串處理能力還不為人們所知。
相關(guān)文章
python正則表達(dá)式的使用(實(shí)驗(yàn)代碼)
正則表達(dá)式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。這篇文章主要介紹了python正則表達(dá)式的使用(實(shí)驗(yàn)代碼),非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2019-06-06Javascript中使用exec進(jìn)行正則表達(dá)式全局匹配時的注意事項(xiàng)
在 Javascript 中使用 exec 進(jìn)行正則表達(dá)式全局匹配時,有一個非常容易犯的錯誤,這是因?yàn)?exec() 在全局模式下的行為稍微有點(diǎn)復(fù)雜2011-11-11notepad、editplus等軟件常用的文本整理正則表達(dá)式
這篇文章主要介紹了notepad、editplus等軟件常用的文本整理正則表達(dá)式,本文講解了匹配空行、所有空行、空格、換行、2個以上的空格等正則,需要的朋友可以參考下2015-04-04正則表達(dá)式語法規(guī)則及在Javascript和C#中的使用方法
正則表達(dá)式通常被用來檢索和/或替換那些符合某個模式的文本內(nèi)容。許多程序設(shè)計(jì)語言都支持利用正則表達(dá)式進(jìn)行字符串操作2013-10-10