我的工作內容以資料監控為主,正規表示式在我的工作中應用比較多。
他對字串的處理和驗證非常高效。現將一些自己積累常用的表示式收集於此,以饗讀者。
匹配**號碼:^\d-\d|^\d-\d|1[358]d$
注:匹配形式如 021-87886699 或 0550-5233222 或 13023218757
匹配中文字元的正規表示式: [\u4e00-\u9fa5]
注:中文字元在字元編碼裡的範圍,中國人只認識中文、abc、123,那就用[\u4e00-\u9fa5a-za-z0-90-9]吧。
匹配雙位元組字元:[^\x00-\xff]
注:可以用來計算從第乙個雙位元組字元開始的字串的長度(乙個雙位元組字元長度計2,ascii字元計1)
匹配空白行的正規表示式:\n\s*\r
注:可以用來刪除空白行 c#中 regex.replace(objstring,@"[\n\s+\r]","");
匹配首尾空白字元的正規表示式:^\s*|\s*$
注:可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常實用。
匹配**url的正規表示式:[a-za-z]+://[^\s]*
注:如果非要追求專業,那就用 ^((http|https)://)([a-za-z0-9.]+[/\]*)+([a-za-z0-9.]+[?])
匹配身份證:\d|\d
注:中國的身份證為15位或18位
匹配整數:^-?[1-9]\d*$
匹配正整數:^[1-9]\d*$
匹配負整數:^-[1-9]\d*$
匹配非負整數(正整數 + 0):^[1-9]\d*|0$
匹配非正整數(負整數 + 0):^-[1-9]\d*|0$
匹配正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
匹配負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
匹配浮點數:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
匹配非負浮點數(正浮點數 + 0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
匹配非正浮點數(負浮點數 + 0):^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
匹配由數字和26個英文本母組成的字串:^[a-za-z0-9]+$
匹配由數字、26個英文本母或者下劃線組成的字串:\w+$
匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-za-z][a-za-z0-9_]$
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...