正則表達(dá)式使用ppt_第1頁
正則表達(dá)式使用ppt_第2頁
正則表達(dá)式使用ppt_第3頁
正則表達(dá)式使用ppt_第4頁
正則表達(dá)式使用ppt_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1正則表達(dá)式簡介使用正則表達(dá)式主要內(nèi)容:正則表達(dá)式簡介2正則表達(dá)式是用來做什么的?

eg:你正在搜索一個(gè)文件,想把文件里所有的單詞car(不區(qū)分字母大小寫)都找出來,但是不想把包含著字符串car的其他單詞(carry)也找出來。

eg:正在編輯一段源代碼并且要把所有的size都替換為isize,但是僅限于單詞size本身而不涉及那些包含著字符串size的其他單詞。正則表達(dá)式的用途: 搜索替換3正則表達(dá)式是什么?正則表達(dá)式是一些用來匹配和處理文本的字符串;正則表達(dá)式使用正則表達(dá)式語言創(chuàng)建的;與其他程序設(shè)計(jì)語言一樣,正則表達(dá)式語言也有需要使用者去學(xué)習(xí)的特殊的語法和指令;正則表達(dá)式語言并不是一種完備的程序設(shè)計(jì)語言,它甚至算不上是一種能夠直接安裝并運(yùn)行的程序。正則表達(dá)式語言是內(nèi)置與其他語言或軟件產(chǎn)品里的“迷你”語言;eg:\b[Cc][Aa][Rr]\b

用于搜索中文本中car的正則表達(dá)式正則表達(dá)式簡介4UltraEdit中的正則表達(dá)式?正則表達(dá)式簡介正則表達(dá)式簡介正則表達(dá)式簡介一個(gè)小工具:regextester.html使用正則表達(dá)式匹配單個(gè)字符使用說明:1正則表達(dá)式可以包含純文本(甚至可以只包含純文本)

2正則表達(dá)式是區(qū)分大小寫的(如果不想?yún)^(qū)分,需要在所使用的語言或工具里進(jìn)行設(shè)置);

3.字符可以匹配任何單個(gè)字符、字母、數(shù)字甚至是.字符本身;

4\.對.進(jìn)行了轉(zhuǎn)義,用于表示.本身。(\字符是一個(gè)元字符,表示這個(gè)字符有特殊含義,而不是字符本身的含義)文本:Hello,mynameisBen.Pleasevisitmywebsiteat正則表達(dá)式:Ben結(jié)果:

Hello,mynameisBen.Pleasevisitmywebsiteat文本:sales.xlssales1.xlssales2.xls正則表達(dá)式:sales.結(jié)果:sales.xls

sales1.xlssale2.xls文本:na1.xlsna2.xlssa1.xlsapac1.xls正則表達(dá)式:.a.\.xls結(jié)果:

na1.xls

na2.xls

sa1.xlsapac1.xls匹配一組字符使用正則表達(dá)式使用說明:1元字符[和]用來定義一個(gè)字符集合(其含義是必須匹配該集合里的字符之一)

2定義一個(gè)字符集合的方法: a.把所有的字符都列舉出來;

b.利用元字符-以字符區(qū)間的方式給出。3字符集合可以用元字符^來求非;(除了該字符集合里的字符,其他字符都可以被匹配)

文本:

sam.xlsna1.xlsna2.xlssa1.xlsca1.xls正則表達(dá)式:[ns]a[0123456789]\.xls結(jié)果:

sam.xls

na1.xls

na2.xls

sa1.xlsca1.xls正則表達(dá)式:[ns]a[0-9]\.xls結(jié)果:sam.xls

na1.xls

na2.xls

sa1.xlsca1.xls[0-9]與[0123456789]完全等價(jià);其他合法的字符區(qū)間:A-Z,匹配從A到Z的所有大寫字母;a-z,匹配從a到z的所有小寫字母;A-F,匹配從A到F的所以大寫字母;A-z,匹配從ASCII字符從A到z之間的所有字符。文本:

sam.xlsna1.xlsna2.xlssa1.xlsca1.xls正則表達(dá)式:[ns]a[^0-9]\.xls結(jié)果:

sam.xlsna1.xlsna2.xlssa1.xlsca1.xls使用元字符使用正則表達(dá)式使用說明:1元字符是一些在正則表達(dá)式里有著特殊含義的字符,(如:.,[,],等),他們無法表達(dá)自身,因此需要用\對他們進(jìn)行轉(zhuǎn)義。

2空白元字符:

[\f]換頁符[\n]換行符[\r]回車符[\t]制表符(Tab鍵)[\v]垂直制表符

3匹配特定字符類別

數(shù)字元字符:\d任何一個(gè)數(shù)字字符

\D任何一個(gè)非數(shù)字字符字母數(shù)字元字符:\w任何一個(gè)字母數(shù)字(大小寫均可)或下劃線

\W任何一個(gè)非字母數(shù)字或非下劃線字符空白字符元字符:\s任何一個(gè)空白字符

\S任何一個(gè)非空白字符

4使用這些簡短的元字符可以用來簡化正則表達(dá)式;重復(fù)匹配使用正則表達(dá)式使用說明:

1+元字符匹配字符或字符集合的一次或多次重復(fù)出現(xiàn);

2*

元字符匹配字符或字符集合的零次或多次重復(fù)出現(xiàn);3?元字符匹配字符或者字符集合的零次或一次出現(xiàn);

文本:Sendpersonalemailtoben@orben.forta@.Forquestionsaboutbookusesupport@.正則表達(dá)式:[\w.]+@[\w.]+\.\w+結(jié)果:

Sendpersonalemailtoben@orben.forta@.Forquestionsaboutbookusesupport@.分析:

[\w.]+將匹配字符集合[\w.](字母數(shù)字字符、下劃線和.)的一次或者多次重復(fù)出現(xiàn);文本:Hello.ben@ismyemailaddress.正則表達(dá)式:\w[\w.]*@[\w.]+\.\w+結(jié)果:Hello.ben@ismyemailaddress.分析:

\w負(fù)責(zé)匹配電子郵件地址里的第一個(gè)字符;

[\w.]*負(fù)責(zé)匹配電子郵件里第一個(gè)字符之后,@字符之前的所有字符;(若使用正則表達(dá)式:[\w.]+@[\w.]+\.\w+,則結(jié)果為:

Hello.ben@ismyemailaddress“.”作為電子郵件里的第一個(gè)字符不合法)文本:TheURLishttp:///,toconnectsecurelyusehttps:///instead.正則表達(dá)式:https?://[\w./]+結(jié)果:TheURLishttp:///,toconnectsecurelyusehttps:///instead.

分析:

?表示前面的字符(s)要么不出現(xiàn),要么最多出現(xiàn)一次。(若使用正則表達(dá)式:http://[\w./]+,則結(jié)果為:

TheURLishttp:///,toconnectsecurelyusehttps:///instead.)此外:

1為重復(fù)匹配次數(shù)設(shè)定一個(gè)精確的值;

2為重復(fù)匹配次數(shù)設(shè)定一個(gè)區(qū)間;3匹配“至少重復(fù)多少次”;

位置匹配使用正則表達(dá)式使用說明:

1正則表達(dá)式不僅可以用來匹配任意長度的文本塊,還可以用來匹配出現(xiàn)在字符串中特定位置的文本;

2單詞邊界:\b用來匹配一個(gè)單詞的開始或結(jié)尾;3字符串邊界:^用來匹配字符串開頭,$用來匹配字符串的結(jié)尾;

4分行匹配:^用來匹配行的開始,$用來匹配行的結(jié)尾。

文本:Thecatscatteredhisfoodallovertheroom.正則表達(dá)式:\bcat\b結(jié)果:Thecatscatteredhisfoodallovertheroom.

分析:如果正則表達(dá)式為cat,那么結(jié)果為:

Thecatscatteredhisfoodallovertheroom.使用子表達(dá)式使用正則表達(dá)式使用說明:

1子表達(dá)式是一個(gè)更大的表達(dá)式的一部分;(把一個(gè)表達(dá)式劃分為一系列子表達(dá)式的目的是為了把那些子表達(dá)式作為一個(gè)獨(dú)立元素來使用。)

2子表達(dá)式必須用(和)括起來;

文本:Hello,mynameisBen Forta,andIamtheauthorofbooksonSQL,ColdFusion,WAP,Windows  2000,andothersubjects.正則表達(dá)式:( ){2,}結(jié)果:Hello,mynameisBen Forta,andIamtheauthorofbooksonSQL,ColdFusion,WAP,Windows  2000,andothersubjects.

分析:

( )是一個(gè)子表達(dá)式,它將被視為一個(gè)獨(dú)立元素,緊跟其后的{2,}表示將尋找此獨(dú)立元素的至少2次連續(xù)出現(xiàn)?;厮菀檬褂谜齽t表達(dá)式

文本:

Thisisablockofoftext,severalwordsherearearerepeated,andandtheyshouldnotbe.

正則表達(dá)式:

[]+(\w+)[]+\1

結(jié)果:

Thisisablockofoftext,severalwordsherearearerepeated,andandtheyshouldnotbe.

分析:\1代表什么?它代表第一個(gè)子表達(dá)式。以此類推,\2代表第二個(gè)子表達(dá)式,\3代表第三個(gè)子表達(dá)式。所以,上述正則表達(dá)式將匹配同一個(gè)單詞的連續(xù)兩次重復(fù)出現(xiàn)。

UltraEdit回溯引用應(yīng)用舉例:

cockanear/eyeat

溫馨提示

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

最新文檔

評論

0/150

提交評論