正則表達式和文本操作_第1頁
正則表達式和文本操作_第2頁
正則表達式和文本操作_第3頁
正則表達式和文本操作_第4頁
正則表達式和文本操作_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論