以前學過一些正規表示式的東西,但是好久沒有看,忘記了好多,最近在作業的過程中,經常用到,所以再重新拾起來,溫習一下,現將主要的元知識總結如下:
(1)\b是正規表示式規定的乙個特殊**(metacharacter),代表著單詞的開頭或結尾,也就是單詞的分界處。雖然通常英文的單詞是由空格,標點符號或者換行來分隔的,但是\b並不匹配這些單詞分隔字元中的任何乙個,它只匹配乙個位置。要精確地查詢hi這個單詞的話,我們應該使用\bhi\b
(2)*同樣是元字元,不過它代表的不是字元,也不是位置,而是數量——它指定*前邊的內容可以連續重複使用任意次以使整個表示式得到匹配。因此,.*連在一起就意味著任意數量的不包含換行的字元。現在\bhi\b.*\blucy\b的意思就很明顯了:先是乙個單詞hi,然後是任意個任意字元(但不能是換行),最後是lucy這個單詞。
(3)\d是個新的元字元,匹配一位數字(0,或1,或2,或……)
0\d\d-\d\d\d\d\d\d\d\d匹配這樣的字串:以0開頭,然後是兩個數字,然後是乙個連字型大小「-」,最後是8個數字(也就是中國的**號碼。當然,這個例子只能匹配區號為3位的情形)。-不是元字元,只匹配它本身——連字元。為了避免那麼多重複,我們也可以這樣寫這個表示式:0\d-\d。 這裡\d後面的()的意思是前面\d
必須連續重複匹配2次(8次)。
(4)\s匹配任意的空白符,包括空格,製表符(tab),換行符,中文全形空格等。\w匹配字母或數字或下劃線或漢字等。\ba\w*\b匹配以字母a開頭的單詞——先是某個單詞開始處(\b),然後是字母a,然後是任意數量的字母或數字(\w*),最後是單詞結束處(\b)。\d+匹配1個或更多連續的數字。這裡的+是和*類似的元字元,不同的是*匹配重複任意次(可能是0次),而+則匹配重複1次或更多次。\b\w\b 匹配剛好6個字元的單詞。
(5)元字元^(和數字6在同乙個鍵位上的符號)和$都匹配乙個位置,這和\b有點類似。^匹配你要用來查詢的字串的開頭,$匹配結尾。這兩個**在驗證輸入的內容時非常有用,比如乙個**如果要求你填寫的qq號必須為5位到12位數字時,可以使用:^\d$。
(6)
表2.常用的限定符
**/語法說明*
重複零次或更多次
+重複一次或更多次
?重複零次或一次
重複n次
重複n次或更多次
重複n到m次
(7)指定乙個字元範圍,像[0-9]代表的含意與\d就是完全一致的:一位數字;同理[a-z0-9a-z_]也完全等同於\w
正規表示式小總結
1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的正實數 0 9 0 9...
正規表示式小總結
用一串特殊字元,可匹配符合相應規律的所有字串。字元代表 a,b,c,d 1,2,3,4 都是原意。匹配除換行符以外的任意字元 w匹配字母或數字或下劃線或漢字 s匹配任意的空白符 d匹配數字 b匹配單詞的開始或結束 匹配字串的開始 匹配字串的結束 w匹配任意不是字母,數字,下劃線,漢字的字元 s匹配任...
正規表示式的小總結
今天在專案中用到幾個之前用的比較少一點的正規表示式,剛好有時間整理一下,可能有一些不常用到,但估計下面的在ios的開發中基本夠用,分享給大家,廢話不多,進入主題。作用 1.資料驗證 測試輸入的字串,是否符合一定的規則,如email位址,qq號,號碼等 2.替換文字 識別文件的中的特定文字,例如 之類...