1.正規表示式的作用:用於文字字元的格式匹配、查詢和替換
2.正規表示式使用最多的類:regex
3.正規表示式的最常見的基礎語法有:字元匹配、重複匹配、轉義語法
字元匹配:
\d 匹配數字(0~9) eg."\d"匹配數字8,不匹配數字12和字母c
\d 匹配非數字 eg."\d"匹配字母c,不匹配數字8
\w 匹配包括下劃線在內的任何字字元 eg."\w\w"匹配a3,不匹配@
\w匹配非字字元 eg.「\w」匹配@,不匹配a
\s 匹配任何空白,包括空格。製表換頁等
\s匹配非空白字元 eg."\s\s\s"匹配a#4
[…]匹配括號中的任意字元 eg.[b-d]匹配b、c、d,不匹配e
[^…]匹配非括號字元 eg.[^b-d]匹配e,不匹配b-d的字元
重複匹配:
匹配n次字元 eg"\d"匹配\d\d\d,不匹配\d、\d\d
匹配n次和n次以上 eg"\w"匹配\w\w、\w\w\w,不匹配\w
匹配n次以上m次以下 eg"\s"匹配\s、\s\s、\s\s\s 不匹配\s\s\s\s
? 匹配0次或1次 eg"5?"匹配5或0
+匹配1次或多次 eg"\s+"匹配乙個以上的\s
*匹配0次以上 eg"\w*"匹配0次以上的\w
轉義匹配:
\+實際字元(\ . * + - ? / ¥等):表示實際字元 eg「\.」表示. 「\+」表示+
\f匹配換頁字元
\n匹配換行字元
\r匹配回車符字元
4.構造正規表示式的方法:涉及到regex類,在regex類中包括的方法有:ismatch、replace、split
(1) ismatch()方法:放回乙個bool值的方法,若測試字元滿足正規表示式則返回true,否則false
eg1:判斷是否為成都的**號碼
string regextext = @"028\d"; //判斷是否為成都號碼的表示式,此處有\,不是轉義符的意思,所以前邊加乙個@表示不轉義
string testphone1 = "02111111111";
string testphone2 = "02822222222";
if (regex.ismatch(testphone1, regextext) == true) //ismatch是靜態方法,可以直接通過類名.方法名呼叫
是成都的**", testphone1);
}else
不是成都的**", testphone1);
}if (regex.ismatch(testphone2, regextext) == true)
是成都的**", testphone2);
}else
不是成都的**", testphone2);
}console.readkey();
匹配是否為身份證號(此處預設18位純數字)
console.writeline("請輸入您的身份證號");
string id = console.readline();
string regextest = @"^\d$";//"\d"當你輸入19位身份證號的時候也會顯示輸入合法,而^…$是表示精確匹配,此處表示18位精確匹配。
if (regex.ismatch(id, regextest) == true)
else
console.writeline("請您輸入乙個電子郵箱");
string email = console.readline();
string regextest = @"\w@\w\.\w"; //郵箱匹配格式
if (regex.ismatch(email, regextest) == true)
else
console.readkey
(3)split()方法;拆分的方法,根據匹配正規表示式進行拆分儲存在字串陣列中eg3:從**郵件位址中讀取所有郵件位址
string regextest = ";"; //**郵件中取;作為分隔符
string groupmail = "[email protected];[email protected];[email protected]";
string personal = regex.split(groupmail, regextest); //進行分割字串,並把分割後的結果存在personal中
foreach (string str in personal) //輸出personal陣列中的每個字串
console.readkey();
5.構造regex物件的建構函式有兩個過載:乙個是不含引數的構造regex(string pattern),另乙個是有引數的構造regex(string pattern,regexoptions).而regexoptions屬於列舉型別,包括ignore(忽略大小寫)、none(預設)等值
eg:建立乙個合法的isbn驗證格式(isbn驗證格式為:x-***xx-***-x)
string regextest = @"\d-\d-\d-\d";
console.writeline("請輸入乙個isbn");
string ans = console.readline();
regex isbntest = new regex(regextest, regexoptions.none);//構造正規表示式的驗證函式,引數為空
if (isbntest.ismatch(ans) == true)//驗證輸入的isbn號
else
console.readkey();
複製**
python正規表示式及使用正規表示式的例子
正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...
使用正規表示式
如果原來沒有使用過正規表示式,那麼可能對這個術語和概念會不太熟悉。不過,它們並不是您想象的那麼新奇。請回想一下在硬碟上是如何查詢檔案的。您肯定會使用 和 字元來幫助查詢您正尋找的檔案。字元匹配檔名中的單個字元,而 則匹配乙個或多個字元。乙個如 data?dat 的模式可以找到下述檔案 data1.d...
使用正規表示式
本文節選自 並有稍微修正。使用正規表示式 您可以使用正規表示式做很多事情。在以下的列表中,您可以找到一些最普通 最常用的正規表示式的例子。表示文字串必須在一行的開頭。所以,當查詢行的開頭只為 hosts 的行,可以使用命令 grep ls hosts 代表了一行的結尾。所以,當查詢行的結尾只為 ho...