正規表示式的使用

2021-06-22 13:31:34 字數 2898 閱讀 6368

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...