C#正則表達式小結

C#正則表達式
1、
.匹配出換行符以外的任意字符
\w匹配字母或數字或下劃線
\s匹配任意的空格
\d匹配數字
\b匹配單詞的開始或結束
^匹配字符串的開始
$匹配字符串的結束
注意:\W,\S,\D,\B和以上小寫的含義相反,\W匹配不是字母數字下劃線……
[^x]匹配除了x以爲的任意字符
[^abcd]匹配除了abcd這幾個字母以外的任意字符
*重複零次或多次
+重複一次或多次
?重複一次或零次
{n}重複n次
{n,}重複n次或者更多次
{n,m}重複n到m次
[abcde]匹配abcde中的任一個字符
[0-9]和\d一樣
[0-9a-zA-Z_]和\w一樣
|表示分支條件,和C#中的"或"一致
零寬斷言
1.?=
@"\b\w+(?=es\b)"  匹配以es結尾的單詞
2.?<=
@"(?<=a\s.*>).*(?=<\/a)"  匹配以<a >開頭以</a>結尾的標籤
負向零寬斷言
3.?!   匹配以非表達式的單詞
@"\b\w*th(?!a)\w*\b"  匹配th開頭但第三個字母不是a的單詞

 匹配以t開頭s結尾的部分
@"\bt.*s\b"    模糊匹配,從開頭到結尾
@"\bt.*?s\b"   精確匹配,和一個離開時最近的結尾字符匹配
2、常用的正則表達式驗證
1)電子郵箱 @"^\w+([.]\w+)*@\w+([.]\w+)*\.\w+([.]\w+)*$"
2)錢金額 @"^(([1-9]\d{0,})|([0]))([.]\d{1,2})?$"
3)Internet網址 @"^http://([\w-]+\.)+[\w-]+([/\w-./?%&=])*?$"
4)固定電話 @"(^(\d{4}-)?\d{7,8}$)|(^(\d{3}-)?\d{8}$)"
5)手機號碼 @"^[1][358]\d{9}$"
6)身份證號碼 @"^([^0](\d{17}|\d{14})|[1-9]{17}X)$"
7)IP地址 @"^((([01]?\d?\d)|([2](([0-4]\d)|([5][0-5]))))[.]){3}(([01]?\d?\d)|([2](([0-4]\d)|([5][0-5]))))$"
3、C#中兩個常用的正則表達式類的用法
Regex和Match
1)、string str = Console.ReadLine();
if (Regex.IsMatch(str, @"^\w*$"))
{
    Console.Write("true");
}
else
{
    Console.Write("false");
}
2)、string str = Console.ReadLine();
Regex reg=new Regex(@"^\d+$");
Match match = reg.Match("");
if (match.Value != str)
{
    Console.WriteLine(match.Value + " " + match.Index);
}

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章