正則表示是

源字符串爲:slkdfklsdfnllknv_1156sdnjkv,+5622fdsgwer

1. 表示單個字符:

現在呢,你用(.)的話,它會匹配任意的字符,上面的所有單個字符都可以匹配,這樣太籠統了。如果你想匹配字符s的話,就需要精確點了,可以簡單的使用(s),可以源字符串有四處可以匹配。

一個(s)可以匹配一個字符s,一個(.)可以匹配一個任何的字符,如果你想匹配的一個類型的字符,譬如數字,可以用(\d),這時就用到了爲字符範圍設計的東西了。

(\d) 表示數字

(\w) 表示字(英語中的字,也就是a~z,A~Z,和數字)

(\s) 任何空格字符(例如:空格,製表符)

如果你不想使用已經設定好的範圍,想自己設計,也是可以的,,例如:你想找到1到7當中的任意一個數字,可以使用([1-7]),記住這個格式,兩個方括號,中間放置範圍,用(-)連接,,再例如:你想匹配a、b、c、d中的任意一個可以使用([a-d]),注意到了吧,使用這個範圍時,必須要是連續的範圍。。

注意:

    在正則引擎眼中,有兩種字符,1. 正常字符 2. 被潛潛規則了的(即解釋爲其他意思)。爲什麼要潛它們,自己想吧。

上面那幾個表示範圍的字符都使用(\),\就是已經被潛規則了的字符,當然,還有其他已經被潛了的字符,大概有10多個字符吧,,,包括這個字符(\)和上面的介紹的(.)還包括下面要介紹的量詞等。。

值得注意的是:\和其他被潛的字符有點不同,其他字符被潛了就是被潛了,但是他們不會“助紂爲虐”,而\確幫着正則引擎潛別的字符,,例如上面的d、w,他們被潛後,就變了個人似的。

\也可以解救所有已經被潛了的字符,包括它自己。(\\),(\.)可以匹配\和.。


2. 表示多個字符:

上面都是匹配一個字符,如果你想匹配兩個連續的字符呢?那就用兩個連續的字符,(ll)可以匹配,並且此時只有一處可以匹配。如果想匹配三個呢,就用三個l,n個呢,就用n個。這樣是不是太麻煩了。。所有呢,正則引擎又多潛了幾個字符來表示匹配次數,即量詞。

(*) 0~n次

(+) 1~n次

(?) 0~1次

({m,n}) m~n次


例如:(m{3,5}),可以匹配3到5個連續的m,(m*)可以匹配0到n個m。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章