正規表示式

2021-08-03 12:37:39 字數 1952 閱讀 7074

正規表示式就是一組字串運算規則,你需要先把元字元記熟,然後就可以隨意組合獲得你想要的結果。把一些常用的正規表示式背下來也是一種方法,再加以變化獲得你想要的結果。

正規表示式不需要刻意的去學習,當用到的時候上網搜尋一下,基本上你能想到的都可以搜到,但是需要了解一下,這樣就可以判斷自己搜到的正規表示式是否符合自己的規則。

正規表示式很多,學起來的難度也挺大的,但是簡單好用,建議用到的時候搜一下。

表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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...