正規表示式就是一組字串運算規則,你需要先把元字元記熟,然後就可以隨意組合獲得你想要的結果。把一些常用的正規表示式背下來也是一種方法,再加以變化獲得你想要的結果。
正規表示式不需要刻意的去學習,當用到的時候上網搜尋一下,基本上你能想到的都可以搜到,但是需要了解一下,這樣就可以判斷自己搜到的正規表示式是否符合自己的規則。
正規表示式很多,學起來的難度也挺大的,但是簡單好用,建議用到的時候搜一下。
表1.常用的元字元 **
說明.匹配除換行符以外的任意字元
\w匹配字母或數字或下劃線或漢字
\s匹配任意的空白符
\d匹配數字
\b匹配單詞的開始或結束
^匹配字串的開始
$匹配字串的結束
表2.常用的限定符
**/語法說明*
重複零次或更多次
+重複一次或更多次
?重複零次或一次
重複n次
重複n次或更多次
重複n到m次
表3.常用的反義**
**/語法
說明\w
匹配任意不是字母,數字,下劃線,漢字的字元
\s匹配任意不是空白符的字元
\d匹配任意非數字的字元
\b匹配不是單詞開頭或結束的位置
[^x]
匹配除了x以外的任意字元
[^hua]
匹配除了hua這幾個字母以外的任意字元
舉例說明
// 匹配中文字元的正規表示式: [u4e00-u9fa5] //匹配中文還真是個頭疼的事,有了這個表示式就好辦了
// 匹配雙位元組字元(包括漢字在內):[^x00-xff]
// 匹配空白行的正規表示式:ns*r //評注:可以用來刪除空白行
// 匹配首尾空白字元的正規表示式:^s*|s*$ //可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等)
// 匹配帳號是否合法(字母開頭,允許4-16位元組,允許字母數字下劃線):^[a-za-z][a-za-z0-9_]$
// 匹配國內**號碼:d-d|d-d //匹配形式如 1111-1111111 或 111-11111111
// 匹配身份證:d|d //中國的身份證為15位或18位
// 匹配特定數字:^[1-9]d*$ //匹配正整數
// 匹配特定字串: [a-za-z0-9]+$ //匹配由數字和26個英文本母組成的字串
// 匹配全形: [^uff00-uffff]
// ^w+$ //匹配由數字、26個英文本母或者下劃線組成的字串
// 匹配數字:「[0-9]*$
// 匹配m-n位的數字:^d$
// 驗證使用者密碼:「^[a-za-z]w$」正確格式為:以字母開頭,長度在6-18之間
// 驗證interneturl:「^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$」
// 匹配html標記的正規表示式:/<(.*)>.*|<(.*) />/
下面是乙個.net正規表示式的類,其實也可以不用寫,微軟已經封裝的很好了,這裡只是做了乙個簡單的操作。
/// /// 操作正規表示式的公共類
///
public class regexhelper
/// /// 驗證輸入字串是否與模式字串匹配,匹配返回true
///
/// 輸入的字串
/// 模式字串
/// 篩選條件
public static bool ismatch(string input, string pattern, regexoptions options)
}
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...