關於正則 照著打一遍就行了 真的照著從頭到尾敲一遍就會了,前後最多45分鐘
如果想測試自己敲的正則是不是正確,除了程式設計之外,可以在文字編輯器(別用記事本)中』搜尋』 然後點中正則匹配 :
我用的是sublime ctrl+f是搜尋 …
# # 正則 regular
# # 基礎正則
# \d 匹配乙個數字([0-9]])
# \w 匹配乙個字母或者數字([0-9a-za-z])
# . 匹配任意字元
# '00\d' ->00d(d為數字)
# '\d\d\d' -> ddd(d為數字)
# '\w\w\d' -> wwd(w為字母或者數字,d為數字)
# '\w\d.' -> wdx(w為字母或者數字,d為數字,x為任意字元)
# \s 匹配乙個空格(包括tab等空白符)
# 特殊字元需要用'\'轉義
# 例如'-'->'\-'
# 再例如'_'->'\_'
# * 表示n個字元(0~n)
# + 表示n個字元(1~n)
# ? 表示0~1個字元(0~1)
# 表示n個字元
# 表示n~m個字元
# \s+ 表示至少有乙個空格
# \s? 表示'' 或者 ' '
# \d 表示 3~8個數字
# 區號(3~4位)-**號(6~8位)
# \d\-\d
# # 高階正則 精確匹配
# [0-9a-za-z\_] -> [乙個數字或者字母或者下劃線構成的字串]
# [0-9a-za-z\_]+ -> [(至少)乙個數字字母下劃線構成的字串]
# [a-za-z\_][0-9a-za-z_]* -> [字母或者下劃線開頭]+[任意多個(可以沒有)數字字母下劃線構成的字串]
# [a-za-z\_][0-9a-za-z\_] -> [字母或者下劃線開頭]+[0~19個數字字母下劃線構成的字串] 《總長為1-20>
# a|b 匹配a或者b
# (****|love) you -> **** you 或者 love you
# # 整行匹配
# ^ 表示行的開頭 ^\d 表示必須以數字開頭
# $ 表示行的結尾 \d$ 表示必須以數字結尾
# **** -> '*******','xx****xx','xx****','****' 等
# ^**** -> '*******','****' 只能匹配到****開頭的
# ****$ -> 'xx****','****' 只能匹配到****結尾的
# ^****$ -> '****' 只能匹配到****開頭並結尾的
# 嗯 擼乙個匹配身份證的正則
# 省兩位數字,市兩位數字,區兩位數字,生日8位數字,後面四位數字或者3個數字+x(x)
# 32個省 11是北京 65是新疆 71是台灣 81 82 是港澳(我查了城市code表..) so...
# (數字開頭,x或者數字結尾) 省+4位數字+4位年份(1900-2099)+2位月份() +2位日子+3位數字 +1位數字或者x/x
# 偽 : ^[1-6][0-9] + \d + (19|20)\d + ((0[1-9])|10|11|12) + (([0-2][1-9])|10|20|30|31)\d[0-9xx]$
# 真 : ^[1-8][0-9]\d(19|20)\d((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d[0-9xx]$
# 簡單點 : ^\d(19|20)\d((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d[0-9xx]$
# 諸位有興趣可以查城市code表編寫乙個非常精確地身份證正則匹配...
# 嗯 再擼乙個手機號驗證
# 1開頭,共11位,第二位可能存在(3,4,5,6,7,8,9)...保險起見第二位也應該是隨機數字,因為之前用的正則是不包含7,9的 後來公司系統報錯,才發現有使用者用177的手機號註冊系統,麻蛋,誰知道以後三大執行商又要出乙個10010010100的號
# ^1[3-9]\d$
# ^1\d$
# 手機號測試
18811055820
12763625935
29927192749
# 身份證測試
130704198610021076
13070519991021123x
3318231998100910xx
701823199810091092
999999199210281099
# 整行匹配測試
*******x
xx****xx
xx****
****
中國城市**表 傳送
book 正規表示式從入門到精通
感覺正則能力太差了,每天花乙個小時看看咯。匹配單個字元,匹配多個字元 search 比如 對輸入字串進行測試,看該字串是否存在乙個 號碼或者乙個信用卡號模式。稱為 資料有效性驗證。replace 標識 文件中特定文字,將其全部替換或者刪除。對乙個正規表示式模式 或者 部分模式 兩邊新增圓括號,將導致...
精通正規表示式 1 正規表示式入門
1 能檢查多個檔案,挑出包含重複單詞的行,高亮標記每個重複單詞 使用標準ansi的轉義字元列 同時必須顯示這行文字來自哪個檔案。2 能跨行查詢,即使兩個單詞乙個在某行末尾而另乙個在下一行的開頭,也算重複單詞。3 能進行不區分大小寫的查詢,例如 the the.重複單詞之間可以出現任意數量的空白字元 ...
Lex和Yacc從入門到精通 2 正規表示式篇
正規表示式在unix liunx系統中起著非常重要的作用,在很大一部分的程式中都使用了正規表示式,可以這麼說 在unix linux系統中,如果不懂正規表示式就不算會使用該系統 本文中使用的lex和yacc都是基於正規表示式的應用,因此有必要用一篇文件的形式詳細說明在lex和yacc中使用的正規表示...