国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

在實際例子中學習正則表達式(高效率)

2020-03-16 20:58:27
字體:
來源:轉載
供稿:網友

  正則表達式簡介

正則表達式,又稱正規表示法、常規表示法。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。

最近整體學習了一下正則表達式的知識,發現還是在例子中進行學習效率比較高,接下來分享一下正則表達式的經典例子并進行相關知識點的總結。

例子1:匹配5-12位的數字:^/d{5,12}$

首先介紹兩個特殊符號,^表示字串開頭,$表示字串結尾,這兩個用來限定匹配的范圍。接下來/d用來匹配一個數字,后面可以接一個{},里面輸入數字。當輸入一個數字時,比如{3},表示對數字進行3次匹配;當輸入兩個數字如例子中那樣,表示匹配5-12次均可。

例子2:匹配以字母a開頭的單詞:/ba/w*/b

在正則表達式中可以直接使用字符來進行匹配,比如使用a就表示匹配帶a字母的模式。/b表示字符的 邊緣。/w表示匹配除了空格以外的一切字符。在正則表達式中可以使用一些符號表示匹配多少次,其中*表示匹配0-N次,+表示匹配1-N次,?表示匹配0或1次。所以上面的例子中/w*表示a后面接著0或多個字符。因此整個模式匹配的就是以a開頭的字符。

例子3:匹配座機電話號碼:/(?0/d{2}[) -]?/d[8]

這個正則表達式匹配的是形如(010)88886666或者022-22334455這類的電話號碼。首先要注意,因為(?等符號在正則表達式中都有特殊的意義,因此要使用真正的這類符號的時候需要進行轉意。這個例子中最開始的/)?就表示(出現0次或1次。接下來是區號,因為區號是3位數字并且開頭的數字必須為0,因此使用0/d{2}就可以完美匹配這個要求。然后是[]的使用。[]內可以放入多個值,表示下一位匹配的是這其中字符中的一個。比如這里的[) -]?就表示匹配左括號、空格或者-中的一個,匹配0次或1次。最后再使用/d{8}匹配8位數字即可符合要求。

例子4:匹配以ing結尾的單詞的前面部分:/b/w+(?=ing/b)

這里面使用了零寬斷言,零寬斷言中的(?=exp)表示匹配后面的要求的前面的部分。本例中的(?=ing/b)匹配的就是要以ing結尾的字符。

以上通過四個示例給大家介紹了正則表達式的知識,非常不錯,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到正則表達式頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肥乡县| 广南县| 山东| 莆田市| 越西县| 邹城市| 前郭尔| 凤冈县| 花垣县| 灵宝市| 保定市| 修水县| 西畴县| 栾城县| 南陵县| 那坡县| 皮山县| 杭锦旗| 黎川县| 武隆县| 贞丰县| 雷波县| 凤台县| 米林县| 湖北省| 阜宁县| 博乐市| 龙山县| 镇江市| 华阴市| 白山市| 富川| 朝阳县| 横山县| 沂源县| 信丰县| 桃源县| 秀山| 湘潭县| 阜阳市| 吴江市|