C 中的正規表示式

2021-08-21 05:28:47 字數 1757 閱讀 9636

正規表示式

是一種匹配文字的模式。

^ 匹配必須出現在字串開頭或者行的開頭

$ 匹配必須出現在字串結尾或者行的結尾

string str = "i am april.";

string str2 = regex.replace(str, "^", "hi,"); //str2 = "hi,i am april."

string str3 = regex.replace(str, "$", "welcome"); //str3 = "i am april.welcome"

\w 匹配字母,數字,下劃線

\w 匹配字母,數字,下劃線 以外的字元

\s 匹配任意空白符

\s 匹配空白符以外的字元

\d 匹配數字

\d 匹配數字以外的字元

string str = "123456";                                   //檢查是否全為數字

bool ismatch = regex.ismatch(str, @"^\d*$"); //ismatch = true

匹配中括號中的任意乙個字元,  [abc] 表示匹配abc中的任意乙個,[a-z]表示匹配a-z中的任意乙個.

[^a] 匹配a以外的任意乙個字元

string str = "hi,april";                                    //匹配apr以外的字元並替換為*

string str2 = regex.replace(str, @"[^apr]", "*"); //str2 = "***apr**"

匹配前面的字元n次

匹配前面的字元n次或多於n次

匹配前面的字元n次到m次

?     重複零次或一次

+     重複一次或多次

*     重複零次或多次

string str = "1048032143";                                  //檢測是否為5-12位數字

bool result = regex.ismatch(str, @"^\d$"); //result = true

| 或運算,滿足其中乙個匹配條件即可。

string str = "hi,april,age:22";

matchcollection results = regex.matches(str, @"\d|[a-z]|[a-z]"); //匹配數字或字母

foreach (match result in results)

//hiaprilage22

string str = "hi,april,age:22";                  //用:或,分割字串

string res = regex.split(str,@"[:,]"); //res =

()對表示式分組,如 @"(ab\w)" 等價於 @"ab\wab\w"

string str = "hi!,hi!,april";

string res = regex.replace(str, @"(hi\w)","hello"); //helloapril

C 中的正規表示式

字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 或 之後的位置。匹配輸入字串的結束位置。如果...

C 中的正規表示式

位置匹配符 表示一行文字的開始位置 表示一行文字的結束位置 如 表示式 cat 匹配的單詞cat出現在行的開始處,注意 是乙個位置字元,不是要匹配字元的本身。同樣,表示式 cat 匹配的單詞cat出現來一行的結尾處。方括號 它表示匹配括號中字元中的乙個 例如 我們要查詢文字中,所有包含 gray或者...

C 中的正規表示式

c 中的正規表示式 jeffrey e.f.friedl寫了一本關於正規表示式的書 精通正規表示式 作者為了使讀者更好的理解和掌握正規表示式,編造了乙個故事。該書的語言以perl為主。據我所知c 中的正規表示式也是基於perl5。所以它們應該有許多的共同之處。其實,我並不打算原封不動的對該書的內容進...