亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2843 | 回復(fù): 0
打印 上一主題 下一主題

正則表達(dá)式 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-01-20 09:25 |只看該作者 |倒序?yàn)g覽

2.匹配單個(gè)字符
A. 匹配會(huì)返回多個(gè)結(jié)果,包括位置 和長度 。

B.. 是特殊字符 ,代表 可以匹配任何一個(gè)單個(gè)字符,通過\ 可以實(shí)現(xiàn)轉(zhuǎn)義。.其實(shí)一般不包括 。

C. 正則表達(dá)式 給出的僅僅是模式(pattern) ,得到的返回是一個(gè)與該模式匹配的字符串

3. 匹配一組字符
[]  是用來定義一個(gè)字符集合的元字符。
能獲得預(yù)期的匹配結(jié)果并不困難,困難的是不會(huì)匹配到你不想要的東西。
在[]內(nèi)可以使用 - 作為區(qū)間字符。在同一個(gè)字符集合里可以給出多個(gè)字符區(qū)間。例如 A-Z 0-9 a-z A-F. 在[]之外,-并不是元字符。

取非匹配 ^ 來否定集合內(nèi)所有的文字。



4. 特殊字符的元字符
A. 轉(zhuǎn)義字符 \

B. 空白字符匹配 \n \r \f \t [\b]回退字符

C. 代表字符類 的元字符
\d [0-9]
\D [^0-9]
\w 任何一個(gè)字母數(shù)字或下劃線
\W 任何一個(gè)非字母數(shù)字非下劃線字符
\s 任何一個(gè)空白字符 不包括[\b]
\S 任何一個(gè)非空白字符

正則表達(dá)式很少有對(duì)錯(cuò)之分,前提是它們能解決問題。更精確 的匹配需要構(gòu)造更復(fù)雜 的表達(dá)式。



5. 重復(fù)匹配(數(shù)量匹配)
A. 匹配一個(gè)或多個(gè)字符(字符集)使用元字符 + 做后綴
表示匹配一個(gè)或多個(gè)字符,至少一個(gè),不匹配0個(gè)。在[]里面一般不用轉(zhuǎn)義。甚至.在[]也將被解釋為普通字符。

B. 匹配0個(gè)或多個(gè)字符(字符集)使用元字符 * 做后綴
表示0次或多次重復(fù)出現(xiàn)。

C. 匹配0個(gè)或1個(gè)字符(字符集)使用元字符 ? 做后綴
表示0次或1次出現(xiàn),最多不超過一次。

有些人喜歡把一個(gè)字符也定義成一個(gè)集合,這么做的好處是可以增加可讀性和避免產(chǎn)生誤解,使人可以一眼看出哪個(gè)字符與哪個(gè)元字符相關(guān)關(guān)聯(lián)

D. 匹配的重復(fù)次數(shù)。使用元字符 {}做后綴,把數(shù)值寫在他們之間。
可以設(shè)置最大值,可以設(shè)置最小值,可以設(shè)置精確的數(shù)字和區(qū)間
{3} 定義重復(fù)3次
{2,4} {0, 3} , ?等價(jià)于{0, 1}
{3, } 匹配最小的重復(fù)次數(shù),而不設(shè)定最大值。但小心別遺漏了{(lán)}里面的逗號(hào)。

E. 防止過度匹配(貪婪型和懶惰型)
*和+都是貪婪型元字符,匹配模式時(shí)總是多多益善 而不是適可而止 ,而不是碰到第一個(gè)匹配為止。
在這些元字符的后再加上元字符?,即成為懶惰型版本。
{}后面也可以加?

6. 位置(邊界)匹配
邊界: 在什么地方進(jìn)行字符串匹配操作。使用邊界限定符

A. \b用來匹配一個(gè)單詞的開始或者結(jié)尾。 \b匹配這樣一個(gè)位置,位于字母和非字母之間 。
\b只匹配位置,不匹配任何字符,也就是匹配到的串的長度不會(huì)包括\b.

\B 字母之間 或非字母與非字母 之間 。

B. 字符串邊界
^和$

7. 使用子表達(dá)式
子表達(dá)式是一個(gè)更大的表達(dá)式的一部分,劃分出來的目的是為了把子表達(dá)式作為一個(gè)獨(dú)立的元素 來使用。
子表達(dá)式用() 括起來。用途:1. 重復(fù)(數(shù)量)匹配 2. 回溯引用
例如( ){2,}    (19|20)\d{2} 對(duì)OR操作符做出準(zhǔn)確的定義

子表達(dá)式允許嵌套 。
嵌套時(shí),關(guān)鍵在于分解開,按照先內(nèi)后外的原則,而不是從第一個(gè)字符開始(從核心開始)。
邏輯思維能力是使用正則表達(dá)式的關(guān)鍵。

牢牢記住 : 把必須匹配的情況 考慮周全并寫出一個(gè)匹配結(jié)果符合預(yù)期的正則表達(dá)式很容易,但把不需要匹配的情況 也考慮周全并確保它們都將被排除在匹配結(jié)果以外往往要困難的多。

8. 回溯引用(Backreference)
A. 作用: 讓模式的后續(xù) 匹配部分了解前面 子表達(dá)式的匹配結(jié)果;蛘哒f在模式內(nèi)部引用 前面的子表達(dá)式。

B. 使用 \1 來引用子表達(dá)式,一般從1開始計(jì)數(shù),\0一般是整個(gè)表達(dá)式,但各個(gè)語言的實(shí)現(xiàn)會(huì)有較大差異。

C. 回溯引用在替換操作中的作用
替換時(shí)需要兩個(gè)正則表達(dá)式:一個(gè)用來給出搜索模式 ,另一個(gè)用來給出匹配文本的替換模式 。
回溯引用可跨模式 使用,一般放在$1 這樣的變量中。

把文本分解成多個(gè)子表達(dá)式的做法在替換是可以做出更精確的控制。


本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/23363/showart_2154255.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP