程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#正則表達式快速入門提升教程

c#正則表達式快速入門提升教程

編輯:C#入門知識

c#(asp.net)正則表達式在編程開發當中是非常重要的,而對一些程序員又容易被忽略,這主要是對於常用的c#(asp.net)正則表達式可以在網上搜索到。但對於一個高級程序員來說,這是必須得熟練掌握的。掌握c#(asp.net)正則表達式的方法其實簡單,我們只要熟悉其語法,然後記住幾個常用的c#(asp.net)正則表達式。

c#(asp.net)正則表達式中常見語法:字符匹配,重復匹配,字符定位,轉義匹配,字符分組,字符替換和字符決策。對於快速入門的人就請記住:字符匹配語法,重復匹配語法,字符定位語法,轉義匹配語法。對這四個語法的詳細文檔如下。

字符匹配語法
字符語法 語法解釋 語法例子 d 匹配數字(0~9) ‘d’匹配8,不匹配12; D 匹配非數字 ‘D’匹配c,不匹配3; w 匹配任意單字符 ‘ww’ 匹配A3,不匹配@3; W 匹配非單字符 ‘W’匹配@,不匹配c; s 匹配空白字符 ‘dsd’匹配3 d,不匹配abc; S 匹配非空字符 ‘SSS’匹配A#4,不匹配3 d; . 匹配任意字符 ‘....’匹配A$ 5,不匹配換行; […] 匹配括號中任意字符 [b-d]匹配b、c、d, 不匹配e; [^…] 匹配非括號字符 [^b-z]匹配a,不匹配b-z的字符;

重復匹配語法
重復語法 語法解釋 語法例子 {n} 匹配n次字符 d{3}匹配ddd,不匹配dd或dddd {n,} 匹配n次和n次以上 w{2}匹配ww和www以上,不匹配w {n,m} 匹配n次上m次下 s{1,3}匹配s,ss,sss,不匹配ssss ? 匹配0或1次 5?匹配5或0,不匹配非5和0 + 匹配一次或多次 S+匹配一個以上S,不匹配非一個以上S * 匹配0次以上 W*匹配0以上W,不匹配非N*W

字符定位語法
重復語法 語法解釋 語法例子 ^ 定位後面模式開始位置   $ 前面模式位於字符串末端   A 前面模式開始位置   z 前面模式結束位置    前面模式結束位置(換行前)    匹配一個單詞邊界   B 匹配一個非單詞邊界  

轉義匹配語法

義語法 涉及字符(語法解釋) 語法例子 “”+實際字符 . * + ? | ( ) { }^ $ 例如:\匹配字符“” 匹配換行   匹配回車   匹配水平制表符   v 匹配垂直制表符   f 匹配換頁   nn 匹配一個8進制ASCII   xnn 匹配一個16進制ASCII   unnnn 匹配4個16進制的Uniode   c+大寫字母 匹配Ctrl-大寫字母 例如:cS-匹配Ctrl+S
構造正則表達式需要涉及Regex類,在Regex類中包括:IsMatch()、Replace()、Split()和Match的類;
IsMatch():匹配
Replace():替換
Split():拆分

c#(asp.net)正則表達式Regex類使用實例:
例1:判斷長沙地區的電話號碼(使用IsMatch())
分析:長沙地區的電話號碼是以0731的區號,後面是8位數字。正則表達式寫法則為:0731\d{8}
代碼:
string Regextest="0731\d{8}";
string testphone="07323452343343";
if(Regex.IsMatch(testphone,Regextest))
{
Response.write("正確的長沙地區號碼!");
}
else
{
Response.write("非正確的長沙地區號碼!");
}

例2:替換文本中的郵件中的字符@,替換為AT(使用Replace())
分析:首先判斷文本中的郵件格式,然後把郵件中的@替換為AT。正則表達式寫法則為:判斷郵件格式:"http://www.cnblogs.com/ceoliujia/admin/file://w{1,}@//w{1,}//.";
代碼:
string Regextest="w{1,}@\@\w{1,}\.";
string Email="lanqilins Email is [email protected]";
if(Regex.Ismath(Email,Regextest))
{
Regex.Replace(Email,"@","AT");
}

例3:讀取所有群發郵件中的所有郵件地址(使用Split())
分析:在群發郵件存放的文本當中以每行一個郵件地址,既采用 作為分割符,需要通過 進行折分。
代碼:
string RegexTest=" ";
string allemail="[email protected] [email protected]";
string[] singemail=Regex.Split(allemail,RegexTest);
foreach(string str in singemail)
{
Response.Write(str.Tostring());
}

常用c#(asp.net)正則表達式實例:
驗證數字:"^[0-9]*$"
驗證字母:"^[A-Za-z]+$"。
驗證郵件:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"
驗證漢字:"^[u4e00-u9fa5]{0,}$"

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved