正則表達(dá)式和文本操作_第1頁(yè)
正則表達(dá)式和文本操作_第2頁(yè)
正則表達(dá)式和文本操作_第3頁(yè)
正則表達(dá)式和文本操作_第4頁(yè)
正則表達(dá)式和文本操作_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余12頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、正則表達(dá)式基本知識(shí):基本語(yǔ)法高級(jí)語(yǔ)法練習(xí)editplus,notpad+,ultraedit,eclipse中使用正則JAVA復(fù)雜文本操作為什么需要正則表達(dá)式?文本的復(fù)雜處理。正則表達(dá)式的優(yōu)勢(shì)和用途?一種強(qiáng)大而靈活的文本處理工具;大部分編程語(yǔ)言 、數(shù)據(jù)庫(kù)、文本編輯器、開發(fā)環(huán)境都支持正則表達(dá)式。正則表達(dá)式定義:正如他的名字一樣是描述了一個(gè)規(guī)則,通過(guò)這個(gè)規(guī)則可以匹配一類字符串。學(xué)習(xí)正則表達(dá)式很大程度上就是學(xué)習(xí)正則表達(dá)式的語(yǔ)則。開發(fā)中使用正則表達(dá)式的流程:分析所要匹配的數(shù)據(jù),寫出測(cè)試用的典型數(shù)據(jù)在工具中進(jìn)行匹配測(cè)試在程序中調(diào)用通過(guò)測(cè)試的正則表達(dá)式普通字符 字母、數(shù)字、漢字、下劃線、以及沒(méi)有特殊定義的

2、標(biāo)點(diǎn)符號(hào),都是“普通字符”。表達(dá)式中的普通字符,在匹配一個(gè)字符串的時(shí)候,匹配與之相同的一個(gè)字符。簡(jiǎn)單的轉(zhuǎn)義字符nt ,$,.,(, ) , , , ? , + , * ,| , 代表?yè)Q行符制表符 代表本身匹配這些字符本身標(biāo)準(zhǔn)字符集合:能夠與 多種字符 匹配的表達(dá)式注意區(qū)分大小寫,大寫是相反的意思d任意一個(gè)數(shù)字,09 中的任意一個(gè)w任意一個(gè)字母或數(shù)字或下劃線,也就是 AZ,az,09,_ 中任意一個(gè)s包括空格、制表符、換行符等空白字符的其中任意一個(gè)小數(shù)點(diǎn)可以匹配任意一個(gè)字符(除了換行符).如果要匹配包括“n”在內(nèi)的所有字符,一般用sS自定義字符集合: 方括號(hào)匹配方式,能夠匹配方括號(hào)中任意一個(gè)字符

3、ab5匹配 a 或 b 或 5 或 abc匹配 a,b,c 之外的任意一個(gè)字符f-k匹配 fk 之間的任意一個(gè)字母A-F0-3匹配 AF,03 之外的任意一個(gè)字符正則表達(dá)式的特殊符號(hào),被包含到中括號(hào)中,則失去特殊意義,除了,-之外。標(biāo)準(zhǔn)字符集合,除小數(shù)點(diǎn)外,如果被包含于中括號(hào),自定義字符集合將包含該集合。比如:d.-+將匹配:數(shù)字、小數(shù)點(diǎn)、+、-量詞(fier)修飾匹配次數(shù)的特殊符號(hào)nm,nm,?+*表達(dá)式重復(fù)n次表達(dá)式至少重復(fù)m次,最多重復(fù)n次表達(dá)式至少重復(fù)m次匹配表達(dá)式0次或者1次,相當(dāng)于 0,1表達(dá)式至少出現(xiàn)1次,相當(dāng)于 1,表達(dá)式不出現(xiàn)或出現(xiàn)任意次,相當(dāng)于 0,匹配次數(shù)中的貪婪模式(匹

4、配字符越多越好,默認(rèn)!)匹配次數(shù)中的非貪婪模式(匹配字符越少越好,修飾匹配次數(shù)的特殊符號(hào)后再加上一個(gè) ? 號(hào))字符邊界(本組標(biāo)記匹配的不是字符而是位置,符合某種條件的位置)與字符串開始的地方匹配$與字符串結(jié)束的地方匹配b匹配一個(gè)單詞邊界b匹配這樣一個(gè)位置:前面的字符和后面的字符不全是wIGNORECASE 忽略大小寫模式匹配時(shí)忽略大小寫。默認(rèn)情況下,正則表達(dá)式是要區(qū)分大小寫的。SINGLELINE 單行模式整個(gè)文本看作一個(gè)字符串,只有一個(gè)開頭,一個(gè)結(jié)尾。使小數(shù)點(diǎn) . 可以匹配包含換行符(n)在內(nèi)的任意字符。MULTILINE 多行模式每行都是一個(gè)字符串,都有開頭和結(jié)尾。在指定了 MULTILI

5、NE 之后,如果需要僅匹配字符串開始和結(jié)束位置,可以使用 A 和 Z選擇符和分組表達(dá)式|分支結(jié)構(gòu)( )捕獲組作用左右兩邊表達(dá)式之間 或 關(guān)系,匹配左邊或者右邊在被修飾匹配次數(shù)的時(shí)候,括號(hào)中的表達(dá)式可以作為整體被修飾取匹配結(jié)果的時(shí)候,括號(hào)中的表達(dá)式匹配到的內(nèi)容可以被單獨(dú)得到(3). 每一對(duì)括號(hào)會(huì)分配一個(gè),使用 () 的捕獲根據(jù)左括號(hào)的順序從 1為零的第一個(gè)捕獲是由整個(gè)正則表達(dá)式模式開始自動(dòng) 匹配的文本。捕獲元素(?:Expres非捕獲組)一些表達(dá)式中,不得不使用( ),但又不需要保存( )中子表達(dá)式匹配的內(nèi)容,這時(shí)可以用非捕獲組來(lái)抵消使用( )帶來(lái)的副作用。反向(nnn)每一對(duì)()會(huì)分配一個(gè),使

6、用 () 的捕獲根據(jù)左括號(hào)的順序從 1 開始自動(dòng)。通過(guò)反向,可以對(duì)分組已捕獲的字符串進(jìn)行。預(yù)搜索(零寬斷言)只進(jìn)行子表達(dá)式的匹配,匹配內(nèi)容不計(jì)入最終的匹配結(jié)果,是零寬度這個(gè)位置應(yīng)該符合某個(gè)條件。判斷當(dāng)前位置的前后字符,是否符合指定的條件,但不匹配前后的字符。是對(duì)位置的匹配。正則表達(dá)式匹配過(guò)程中,如果保存到最終的匹配結(jié)果中,那配到的是字符內(nèi)容,而非位置,并被個(gè)子表達(dá)式是占有字符的;如果子表達(dá)式匹配的僅僅是位置,或者并不保存到最終的匹配結(jié)果中,那么就認(rèn)為這個(gè)子表達(dá)式是零寬度的。占有字符還是零寬度,是針對(duì)匹配的內(nèi)容是否保存到最終的匹配結(jié)果中而言的。(?=exp)(?=exp)(?!exp)(?!ex

7、p)斷言自身出現(xiàn)的位置的后面能匹配表達(dá)式exp斷言自身出現(xiàn)的位置的前面能匹配表達(dá)式exp斷言此位置的后面不能匹配表達(dá)式exp斷言此位置的前面不能匹配表達(dá)式exp號(hào)碼驗(yàn)證號(hào)碼由數(shù)字和-號(hào)碼為7到8位(1)(2)(3)如果號(hào)碼中包含有區(qū)號(hào),那么區(qū)號(hào)為三位或四位, 首位是0.(4)區(qū)號(hào)用-和其他部分隔開(5)移動(dòng)號(hào)碼為11位(6)11位移動(dòng)號(hào)碼的第一位和第二位為13“,”15”,”18”電子郵件地址驗(yàn)證1.用戶名:字母、數(shù)字、中劃線、下劃線組成。2.3.:字母、數(shù)字組成。4. 小數(shù)點(diǎn):.5. 組織:2-4位字母組成。不區(qū)分大小寫匹配中文字符u4e00-u9fa5匹配空白行ns*r匹配HTML標(biāo)記*.

8、*?|匹配首尾空白字符s*|s*$匹配地址w+(-+.w+)*w+(-.w+)*.w+(-.w+)*匹配URLa-zA-z+:/s*匹配國(guó)內(nèi)號(hào)碼d3-d8|d4-d7匹配騰訊1-90-94,匹配中國(guó)1-9d5(?!d)匹配d15|d18匹配ip地址d+.d+.d+.d+開發(fā)環(huán)境和文本編輯器中使用正則eclipseNotepad+EditplusUltraEdit數(shù)據(jù)庫(kù)中也可以使用正則5.5以上Oracle10g以上例如:SELECT prod_name.匹配任意字符FROM productsWHERE prod_name REGEXP .000相關(guān)類位于:java.util.regex包下面類 Pattern:正則表達(dá)式的編譯表示形

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論