正則入門連載?。ǐI(xiàn)給不及格的程序員們)第1/4頁
更新時(shí)間:2007年02月05日 00:00:00 作者:
正則表達(dá)式
通過與大多數(shù)讀者已經(jīng)熟悉的一些概念進(jìn)行比較,說明正則表達(dá)式的概念。
本篇內(nèi)容全部來是 微軟 公司 文檔
對(duì)此表示感謝,像那些為此而工作過的人們.
除非您以前使用過正則表達(dá)式,否則您可能不熟悉此術(shù)語。但是,毫無疑問,您已經(jīng)使用過不涉及腳本的某些正則表達(dá)式概念。
例如,您很可能使用 ? 和 * 通配符來查找硬盤上的文件。? 通配符匹配文件名中的單個(gè)字符,而 * 通配符匹配零個(gè)或多個(gè)字符。像 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ù)對(duì)于對(duì)靜態(tài)文本執(zhí)行簡(jiǎn)單搜索和替換任務(wù)可能已經(jīng)足夠了,但它缺乏靈活性,若采用這種方法搜索動(dòng)態(tài)文本,即使不是不可能,至少也會(huì)變得很困難。
通過使用正則表達(dá)式,可以:
測(cè)試字符串內(nèi)的模式。
例如,可以測(cè)試輸入字符串,以查看字符串內(nèi)是否出現(xiàn)電話號(hào)碼模式或信用卡號(hào)碼模式。這稱為數(shù)據(jù)驗(yàn)證。
替換文本。
可以使用正則表達(dá)式來識(shí)別文檔中的特定文本,完全刪除該文本或者用其他文本替換它。
基于模式匹配從字符串中提取子字符串。
可以查找文檔內(nèi)或輸入域內(nèi)特定的文本。
例如,您可能需要搜索整個(gè) Web 站點(diǎn),刪除過時(shí)的材料,以及替換某些 HTML 格式標(biāo)記。在這種情況下,可以使用正則表達(dá)式來確定在每個(gè)文件中是否出現(xiàn)該材料或該 HTML 格式標(biāo)記。此過程將受影響的文件列表縮小到包含需要?jiǎng)h除或更改的材料的那些文件。然后可以使用正則表達(dá)式來刪除過時(shí)的材料。最后,可以使用正則表達(dá)式來搜索和替換標(biāo)記。
正則表達(dá)式在 JScript 或 C 等語言中也很有用,這些語言的字符串處理能力還不為人們所知。
通過與大多數(shù)讀者已經(jīng)熟悉的一些概念進(jìn)行比較,說明正則表達(dá)式的概念。
本篇內(nèi)容全部來是 微軟 公司 文檔
對(duì)此表示感謝,像那些為此而工作過的人們.
除非您以前使用過正則表達(dá)式,否則您可能不熟悉此術(shù)語。但是,毫無疑問,您已經(jīng)使用過不涉及腳本的某些正則表達(dá)式概念。
例如,您很可能使用 ? 和 * 通配符來查找硬盤上的文件。? 通配符匹配文件名中的單個(gè)字符,而 * 通配符匹配零個(gè)或多個(gè)字符。像 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ù)對(duì)于對(duì)靜態(tài)文本執(zhí)行簡(jiǎn)單搜索和替換任務(wù)可能已經(jīng)足夠了,但它缺乏靈活性,若采用這種方法搜索動(dòng)態(tài)文本,即使不是不可能,至少也會(huì)變得很困難。
通過使用正則表達(dá)式,可以:
測(cè)試字符串內(nèi)的模式。
例如,可以測(cè)試輸入字符串,以查看字符串內(nèi)是否出現(xiàn)電話號(hào)碼模式或信用卡號(hào)碼模式。這稱為數(shù)據(jù)驗(yàn)證。
替換文本。
可以使用正則表達(dá)式來識(shí)別文檔中的特定文本,完全刪除該文本或者用其他文本替換它。
基于模式匹配從字符串中提取子字符串。
可以查找文檔內(nèi)或輸入域內(nèi)特定的文本。
例如,您可能需要搜索整個(gè) Web 站點(diǎn),刪除過時(shí)的材料,以及替換某些 HTML 格式標(biāo)記。在這種情況下,可以使用正則表達(dá)式來確定在每個(gè)文件中是否出現(xiàn)該材料或該 HTML 格式標(biāo)記。此過程將受影響的文件列表縮小到包含需要?jiǎng)h除或更改的材料的那些文件。然后可以使用正則表達(dá)式來刪除過時(shí)的材料。最后,可以使用正則表達(dá)式來搜索和替換標(biāo)記。
正則表達(dá)式在 JScript 或 C 等語言中也很有用,這些語言的字符串處理能力還不為人們所知。
相關(guān)文章
VScode中使用正則表達(dá)式替換字符串的3個(gè)步驟分享
正則表達(dá)式是查找和替換文本模式的一種簡(jiǎn)潔而靈活的表示法,下面這篇文章主要給大家介紹了關(guān)于VScode中使用正則表達(dá)式替換字符串的3個(gè)步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
正則表達(dá)式模式匹配字符串基礎(chǔ)知識(shí)
這篇文章主要介紹了正則表達(dá)式模式匹配字符串基礎(chǔ)知識(shí),分為匹配字符串的基本規(guī)則和正則匹配、查找與替代的知識(shí),本文給大家介紹的非常不錯(cuò),需要的朋友可以參考下2017-11-11
8個(gè)你應(yīng)該了解的正則表達(dá)式提高你的工作效率
正則表達(dá)式也可以被當(dāng)作是一門語言,入門時(shí)可能很吃力,不過一旦學(xué)會(huì)了就方便很多,在處理一些比較復(fù)雜的替換時(shí),正則表達(dá)式就會(huì)發(fā)揮它的真正作用,本文整理了一些常用的正則,感興趣的朋友可以了解下,或許對(duì)你有所幫助2013-01-01
php 手機(jī)號(hào)碼驗(yàn)證正則表達(dá)式
php中用了驗(yàn)證手機(jī)號(hào)碼的正則表達(dá)式,除了11位限制外,還增加了數(shù)字判斷,更符合標(biāo)準(zhǔn)。2011-07-07
iOS中使用正則表達(dá)式NSRegularExpression 來驗(yàn)證textfiled輸入的內(nèi)容
一個(gè)正則表達(dá)式(regexp)是由元字符和文字?jǐn)?shù)字的文本字符,或者“文字的”(abc,123,及其他)混合組合而成的文本模式。 該類型用于匹配文本字符——并附有匹配的結(jié)果,是成功還是失敗。 Regexps 主要用于規(guī)則文本匹配以及搜索和替換。2015-09-09
JScript中正則表達(dá)函數(shù)的說明與應(yīng)用
JScript中正則表達(dá)函數(shù)的說明與應(yīng)用...2006-06-06

