正規表示式是對字元串操作的一種邏輯公式. 我們一般使用正規表示式對字元串進行匹配和過濾.
由普通字元和元字元組成
元字元:
1)字元組: 用 括起來的內容會被匹配 逐個匹配
2)簡單元字元:
. 匹配除換行符以外的任意字元
\w 匹配字母或數字或下劃線
\s 匹配任意的空白符
\d 匹配數字
\n 匹配乙個換行符
\t 匹配乙個製表符
\b 匹配乙個單詞的結尾
^ 匹配字串的開始
$ 匹配字元串的結尾
\w 匹配非字母或數字或下劃線
\d 匹配非數字
\s 匹配非空白符
a|b 匹配字元a或字元b
() 匹配括號內的表示式,也表示乙個組
[...] 匹配字元組中的字元
[^...] 匹配除了了字元組中字元的所有字元
3)量詞
一次性匹配很多個字元
* 重複零次或更多次
+ 重複一次或更多次
? 重複零次或一次
重複n次
重複n次或更多次
重複n到m次
4)惰性匹配和貪婪匹配
在量詞中 * + {} 都屬於貪婪匹配 可以盡可能所得得到結果
str: 麻花藤昨天讓英雄聯盟關服了
reg: 昨天.* 匹配的是:昨天讓英雄聯盟關服了
.*? 表示惰性匹配 盡可能少的匹配
.*?x的特殊含義 找到下乙個x為止.
5)分組
在正則中使用()分組
身份證匹配: ^[1-9]\d(\d[0-9x])?$ 新舊都可以
手機號 : ^(13|17|15|18)\d
生日 : ^(1\d|20\d)-(((01|0[3-9]|(10|11|12))-(1[0-9]|2[0-9]|3[0-1]))|(02-(1[0-9]|2[0-9])))
**號: ^[0-9](\d-[1-9]\d|\d-[1-9]\d)
位址 : \s+市\s+區\s+街道\s+小區\s+號樓\s+單元\s+號
ip : (2[0-5][0-5]|1[0-9][0-9]|[1-9]|[1-9])\.(2[0-5][0-5]|1[0-9][0-9]|[1-9]|[1-9])\.(2[0-5][0-5]|1[0-9][0-9]|[1-9]|[1-9])\.(2[0-5][0-5]|1[0-9][0-9]|[1-9]|[1-9])
第20 21天 正規表示式
這本來是上周四和周五的教學內容,由於一些意料之中的安排所以統一在今天補上。這兩天都是教的正規表示式,一天是正規表示式基本語法,另一天也是正規表示式語法 函式 正規表示式從本質上來說已是乙個字串,能發揮它作用的唯一方法就是把它和特定的函式結合起來一起使用。正規表示式函式中,稍微複雜一點的是preg r...
C 學習筆記 第六天 正規表示式
c 學習筆記 第六天 正規表示式 yfp 2005 12 23 正規表示式的使用場合主要是在驗證使用者輸入,快速查詢替換字串。而不是像某些人想的用在控制顯示格式上,如果要控制資料輸出時的顯示格式,請使用格式化字串。這兩者是不同的概念。在微軟msdn中有很詳細的技術資料 http msdn.micro...
技術部落格第一天 正規表示式
正規表示式是一種文字模式,由普通字元和特殊字元兩種組成,常用來匹配某個語法規則的字串。定位符 定位符用來描述字串或單詞的邊界,和 分別指字串的開始與結束,b 描述單詞的前或後邊界,b 表示非單詞邊界。限定符 0 9 匹配多個數字,0 9 匹配單個數字,匹配乙個或者多個 至少是乙個 代表字元可以出現0...