a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 開發設計 > 正文

正則表達式入門教程(一)

2019-11-11 05:11:08
字體:
來源:轉載
供稿:網友

       學習正則表達式的最好方法是從例子開始,理解例子之后再自己對例子進行修改,實驗。下面給出了不少簡單的例子,并對它們作了詳細的說明。

       假設你在一篇英文小說里查找 hi,你可以使用正則表達式hi。

       這幾乎是最簡單的正則表達式了,它可以精確匹配這樣的字符串:由兩個字符組成,前一個字符是h,后一個是i。通常,處理正則表達式的工具會提供一個忽略大小寫的選項,如果選中了這個選項,它可以匹配hi,HI,Hi,hI這四種情況中的任意一種。

        不幸的是,很多單詞里包含hi這兩個連續的字符,比如him,history,high等等。用hi來查找的話,這里邊的hi也會被找出來。如果要精確地查找hi這個單詞的話,我們應該使用/bhi/b。

     1):  /b是正則表達式規定的一個特殊代碼(好吧,某些人叫它元字符,metacharacter),代表著單詞的開頭或結尾,也就是單詞的分界處。雖然通常英文的單詞是由空格,標點符號或者換行來分隔的,但是/b并不匹配這些單詞分隔字符中的任何一個,它只匹配一個位置

      假如你要找的是hi后面不遠處跟著一個Lucy,你應該用/bhi/b.*/bLucy/b

      這里,

    2):.是另一個元字符,匹配除了換行符以外的任意字符。

    3): *同樣是元字符,不過它代表的不是字符,也不是位置,而是數量——它指定*前邊的內容可以連續重復使用任意次以使整個表達式得到匹配。

      因此,.*連在一起就意味著任意數量的不包含換行的字符。現在/bhi/b.*/bLucy/b的意思就很明顯了:先是一個單詞hi,然后是任意個任意字符(但不能是換行),最后是Lucy這個單詞。

     如果同時使用其它元字符,我們就能構造出功能更強大的正則表達式。比如下面這個例子:

       0/d/d-/d/d/d/d/d/d/d/d匹配這樣的字符串:以0開頭,然后是兩個數字,然后是一個連字號“-”,最后是8個數字(也就是中國的電話號碼。當然,這個例子只能匹配區號為3位的情形)。

    

      4): 這里的/d是個新的元字符,匹配一位數字(0,或1,或2,或……)。

       -不是元字符,只匹配它本身——連字符(或者減號,或者中橫線,或者隨你怎么稱呼它)。

      為了避免那么多煩人的重復,我們也可以這樣寫這個表達式:

     5): 0/d{2}-/d{8}。這里/d后面的{2}({8})的意思是前面/d必須連續重復匹配2次(8次)。

     為了方便后面學習正則表達式知識,可以下載一個正則表達式測試工具或者在線工具

參考博客:http://deerchao.net/tutorials/regex/regex.htm#mission


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人精品视频一区二区三区 | 暖暖视频日韩欧美在线观看 | 欧美日韩不卡合集视频 | 国产精品美女视频免费观看软件 | 亚洲一区在线观看视频 | 日本不卡视频 | 在线播放国产一区二区三区 | 精品国产一区二区三区成人影院 | 欧美第8页 | 九草av | 三级黄网站 | 欧美小视频在线观看 | 国产一二在线 | 亚洲一级黄色 | 欧美电影一区 | 亚洲不卡在线观看 | mm1313亚洲国产精品美女 | 欧美日韩成人在线播放 | 亚洲三级在线观看 | 久久er99热精品一区二区 | 美日韩一区二区 | 亚洲aⅴ天堂av在线电影软件 | 欧洲视频一区二区 | 日韩欧美一区二区视频 | 久草一级 | 久久国产精品一区二区 | 永久看片 | 日本久久精品视频 | 99reav| 91综合网 | 久久久国产视频 | 国产精品久久久久久久久久久免费看 | 亚洲成人一区二区三区 | 黄色片在线播放 | 一级片免费在线观看 | 国产精品久久久久蜜臀 | 久久人人爽人人爽人人片av不 | 国产精品国产三级国产专播品爱网 | jjzz日本| 亚洲一二三四五六区 | 欧美一级在线免费观看 |