正規表示式之常用字元驗證技巧

2021-09-06 15:59:40 字數 4542 閱讀 1525

一:使用正規表示式檢查字串中重複出現的詞,截圖

二:**

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

validateword

private

void button1_click(object

sender, eventargs e)

n是乙個非負整數,匹配前面的n次子表示式

n是乙個非負整數,至少匹配前面的n次子表示式

m和n均為非負整數,其中n<=m,最少匹配n次且最多匹配m次

? 當該字元緊跟在其他限制符(*,+,?,,,)後面時,

匹配模式盡可能少的匹配所搜尋的字串

. 匹配除「\n」之外的任何單個字元

(pattern) 匹配pattern並獲取這一匹配

(?:pattern) 匹配pattern但不獲取匹配結果

(?=pattern) 正向預查,在任何匹配pattern的字串開始處匹配查詢字串

(?!pattern) 負向預查,在任何不匹配pattern的字串開始處匹配查詢字串

x|y 匹配x或y。例如,『z|food』能匹配「z」或「food」。『(z|f)ood』則匹配「zood」或「food」

[xyz] 字元集合。匹配所包含的任意乙個字元。例如,『[abc]』可以匹配「plain」中的『a』

[^xyz] 負值字元集合。匹配未包含的任意字元。例如,『[^abc]』可以匹配「plain」中的『p』

[a-z] 匹配指定範圍內的任意字元。例如,『[a-z]』可以匹配'a'到'z'範圍內的任意小寫字母字元

[^a-z] 匹配不在指定範圍內的任意字元。例如,『[^a-z]』可以匹配不在『a』~『z』'內的任意字元

\b 匹配乙個單詞邊界,指單詞和空格間的位置

\b 匹配非單詞邊界

\d 匹配乙個數字字元,等價於[0-9]

\d 匹配乙個非數字字元,等價於[^0-9]

\f 匹配乙個換頁符

\n 匹配乙個換行符

\r 匹配乙個回車符

\s 匹配任何空白字元,包括空格、製表符、換頁符等

\s 匹配任何非空白字元

\t 匹配乙個製表符

\v 匹配乙個垂直製表符。等價於\x0b和\ck

\w 匹配包括下劃線的任何單詞字元。等價於『'[a-za-z0-9_]』

\w 匹配任何非單詞字元。等價於『[^a-za-z0-9_]』

\k命名後向引用。例如,(?\w)\k查詢雙寫的單詞字元。表示式 (?<43>\w)\43 執行同樣的操作。

可以使用單引號替代尖括號,例如 \k'char'。

(?子表示式)

將匹配的子表示式捕獲到乙個組名稱或編號名稱中。用於 name 的字串不得包含任何標點符號,

並且不能以數字開頭。可以使用單引號替代尖括號,例如 (?'name')。

*/system.text.regularexpressions.matchcollection matches =//

使用正規表示式查詢重複出現單詞的集合

system.text.regularexpressions.regex.matches(label1.text,

@"\b(?\w+)\s+(\k)\b

", system.text.

regularexpressions.regexoptions.compiled |system.text.

regularexpressions.regexoptions.ignorecase);

if (matches.count != 0)//

如果集合中有內容

}else //

彈出訊息對話方塊

}

private

void form1_load(object

sender, eventargs e)}}

三:使用正規表示式替換字串,截圖

四:**

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

replacestr

private

void button1_click(object

sender, eventargs e)

private

void button2_click(object

sender, eventargs e)}}

五:使用正規表示式拆分字串,截圖

六:**

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

validatesplit

private

void btn_split_click(object

sender, eventargs e)

}private

void btn_close_click(object

sender, eventargs e)}}

七:使用正規表示式驗證輸入字母,截圖

八:**

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

isletter

private

void btn_validate_click(object

sender, eventargs e)

//彈出訊息對話方塊

else //

彈出訊息對話方塊

}

//////

驗證字串是否為大小寫字母組成

/// ///

字串 ///

方法返回布林值

public

bool isletter(string

str_letter)}}

九:其他常見字元驗證

使用正規表示式驗證中文漢字輸入    @"^[\u4e00-\u9fa5],$"

使用正規表示式驗證輸入字串長度是否大於8         @"^.$"

使用正規表示式驗證e-mail格式           @"^([\w-\.]+)@((\[[0-9]\.[0-9]\.[0-9]\.)|(([\w-]+\.)+))([a-za-z]|[0-9])(\]?)$")

使用正規表示式驗證ip位址             "(25[0-5]|2[0-4]\\d|[0-1]\\d|[1-9]?\\d)"

使用正規表示式驗證url             @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"

正規表示式常用字元

限定符限定符用來指定正規表示式的乙個給定元件必須要出現多少次才能滿足匹配。有 或 或 或 或 或 共6種。定位符 b b 元字元 下表包含了元字元的完整列表以及它們在正規表示式上下文中的行為 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 ...

oracle常用字段正規表示式驗證

using system using system.text using system.text.regularexpressions namespace common 驗證是否滿足資料型別 number n 是否允許為空 1允許 0不允許 驗證通過返回true public static bool...

用正規表示式對常用字元數字驗證

1 用正規表示式驗證 號碼 驗證 號碼格式是否正確 號碼資訊 方法返回布林值 public bool istelephone string str telephone d 用於驗證格式為 xx格式的座機號 2 驗證密碼輸入只能為數字跟字母 驗證碼碼輸入條件 密碼字串 返回布林值 public boo...