資源描述:
《正則表達(dá)式入門》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、正則表達(dá)式入門(2009-04-1520:32:54)標(biāo)簽:正則表達(dá)式linuxvi入門it分類:學(xué)習(xí)公社看了一點EllieQuigley的《UNIXShell范例精解》,學(xué)了一點正則表達(dá)式入門的知識??偨Y(jié)一下:正則表達(dá)式是一種字符模式,用于在查找過程中匹配相同的字符。在大多數(shù)程序里,正則表達(dá)式都被擴在2個正斜杠“/”之間。(1)正則表達(dá)式元字符----------------------------------------------------------------------------------------------元字符功能示例解釋--------------
2、--------------------------------------------------------------------------------^行首定位符/^love/匹配以love開頭的行$行尾定位符/love$/匹配以love結(jié)尾的行.匹配一個字符/l..e/匹配包含l,后跟2個任意字符,再跟一個e的行*匹配0或任意個前一字符/o*ve/匹配包含任意個o后跟ve的行[]匹配集合中任意一個/[Ll]ove/匹配Love或者love[x-y]匹配范圍中任意一個/[a-z]/匹配任意一個小寫字符[^]匹配不在指定組內(nèi)字符/[^a-z]/匹配非小寫字母的一個字符
3、用于轉(zhuǎn)義字符/love./匹配包含love后跟一個句號的行(以下是多數(shù)使用正則表達(dá)式元字符的UNIX程序都支持的元字符):<詞首定位符/詞尾定位符/love>/匹配以love結(jié)尾的詞的行(viandgrep)(..)匹配標(biāo)簽/(love)1er/love模式被保存為標(biāo)簽1,此后1就等價于lovex{m}字符x的m次重復(fù)出現(xiàn)a{3}x{m,}字符x至少出現(xiàn)m次a{3,}x{m,n}字符x至少出現(xiàn)m次,至多n次a{2,8}(2)組合正則表達(dá)式元字符元字符可以組合成為更為復(fù)
4、雜一些的表達(dá)式,例如:2.1/^[A-Z]..$/查找的行以大寫字母開頭,后跟2個任意字符,后跟換行符2.2/^[A-Z][a-z]*3[0-8]/查找的行以大寫字母開頭,后跟0或任意個小寫字母,后跟數(shù)字3,后跟一個0-8之間的一個數(shù)字2.3/[a-z]*./查找的行包含0個或者多個小寫字母后跟一個句點2.4/*[A-Z][a-z][a-z]$/查找的行以若干空格開頭,后跟一個大寫字母2個小寫字母,后跟換行2.5/^[A-Za-z]*[^,][A-Za-z]*$/查找的行以0或多個大小寫字母開頭,后面不是句號,后跟0或多個大小寫字母,然后換行(3)使用舉例可以找到多個匹配項
5、時,用n3.1關(guān)于^和[]Ihadalovelytimeonourlittlepicnic.Loverswereallaroundus.Itisspringtime.Ohlove,howmuchIadoreyou.Oh,buytheway,IthinkIlostmyglovessomewhereoutinthatfieldofclover.Didyouseethem?Icanonlyhopeloveisforever.Iliveforyou.It'shardtogetbackinthegroove.~~~/^[Ll]ove/說明:匹配以love或者Love開頭3.2關(guān)于.Ih
6、adalovelytimeonourlittlepicnic.Loverswereallaroundus.Itisspringtime.Ohlove,howmuchIadoreyou.Oh,buytheway,IthinkIlostmyglovessomewhereoutinthatfieldofclover.Didyouseethem?Icanonlyhopeloveisforever.Iliveforyou.It'shardtogetbackinthegroove.~~~/l.ve/說明:匹配包含l后跟任意字符+ve的行3.3關(guān)于*Ihadalovelytimeonour
7、littlepicnic.Loverswereallaroundus.Itisspringtime.Ohlove,howmuchIadoreyou.Oh,buytheway,IthinkIlostmyglovessomewhereoutinthatfieldofclover.Didyouseethem?Icanonlyhopeloveisforever.Iliveforyou.It'shardtogetbackinthegroove.~~~/o*ve/說明:*是與前面字符緊密聯(lián)系的,如果是/*a/則是表