C#使用正則表達式
一.正則基礎
1. []方括號表示匹配可以匹配方括號中的任意點單個字符,方括號只允許匹配單個字符。
2. | 或表示兩項之間的一個選擇,它不能和方括號使用,只能和小括號使用。
3. ()小括號表示一個子表達式的開始和結束位置
4. ^ 否符號,如果用在方括號內,“^”表示不想要匹配的字符。
5. . 點字符:匹配除換行符 \n 之外的任何單字符。要匹配 . ,請使用 \. 。
6. 定位符:定位符使您能夠將正則表達式固定到行首或行尾,^ 和 $ 分別指字符串的開始與結束
7. 限定符:限定符用來指定正則表達式的一個給定組件必須要出現(xiàn)多少次才能滿足匹配
- * 表示匹配前面的子表達式0次或多次
- ?表示匹配前面的子表達式0次或一次
- + 表示匹配前面的子表達式至少匹配一次
- {n} 表示匹配前面的子表達式n次
- {n,m} 表示匹配前面的子表達式從n次到m次
8. 轉義字符
- \d 匹配一個數字字符。等價于 [0-9]。
- \D 匹配一個非數字字符。等價于 [^0-9]。
- \s 匹配任何空白字符,包括空格、制表符、換頁符等等。等價于 [ \f\n\r\t\v]。
- \S 匹配任何非空白字符。等價于 [^ \f\n\r\t\v]。
- \w 匹配字母、數字、下劃線。等價于'[A-Za-z0-9_]'。
- \W 匹配非字母、數字、下劃線。等價于 '[^A-Za-z0-9_]'。
- \n 匹配一個換行符
- \r 匹配一個回車符
- \b 匹配一個單詞邊界,即字與空格間的位置。匹配單詞的開始或者結尾部分
- \B 匹配非單詞邊界 匹配單詞的中間部分,例如:匹配:Chapter中的apt,/\Bapt/
二.常用的匹配符
只能輸入數字:"^[0-9]*$"。
只能輸入n位的數字:"^\d{n}$"。
只能輸入至少n位的數字:"^\d{n,}$"。
只能輸入m~n位的數字:。"^\d{m,n}$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^\-[1-9][]0-9"*$。
只能輸入長度為3的字符:"^.{3}$"。
只能輸入由26個英文字母組成的字符串:"^[A-Za-z]+$"。
只能輸入由26個大寫英文字母組成的字符串:"^[A-Z]+$"。
只能輸入由26個小寫英文字母組成的字符串:"^[a-z]+$"。
只能輸入由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
只能輸入由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。
驗證是否含有^%&’,;=?$\"等字符:"[^%&’,;=?$\x22]+"。
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"
三.使用方法
public static bool Match(string strValue)
{
bool result = Regex.IsMatch(strValue, @"^-[1-9][0-9]*$");
return result;
}到此這篇關于C#使用正則表達式的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C#版的 Escape() 和 Unescape() 函數分享
從網上看到兩個方法, C# 版的 Escape() 和 Unescape(),收藏下。2011-05-05

