正規表示式 API

2021-04-21 09:40:13 字數 1861 閱讀 7442

除了 asp.net 驗證控制項,在.net 中使用正規表示式的大多數情況都要使用system.text.regularexpressions命名空間中發現的類。特別是那些您希望熟悉的主類regexmatchmatchcollection

順便說一下,正規表示式縮寫樣式 regex 的發音究竟是 /reg-eks/ 還是 /rej-eks/,還有一些爭議。本人傾向於後者,但兩種發音都有專家贊同,所以選擇哪個發音由您自己決定。

regex類有大量的方法和屬性,如果您以前沒有用過它,可能會感到無所適從。下面彙總了一些最常用的方法:

方法說明

escape / unescape

字串中的轉義元字元,用作表示式中的文字。

ismatch

如果正規表示式在輸入字串中發現匹配,返回「ture」。

match

如果在輸入字串中發現匹配,則返回匹配物件。

matches

如果在輸入字串中發現包含任何或全部匹配,則返回匹配集合物件。

replace

用給定的替換字串替換輸入字串中的匹配。

split

將輸入字串拆分成用正規表示式匹配分開的陣列元素時,返回陣列字串。

除了指定很多方法外,還有一些選項可以指定,通常在regex物件建構函式中。由於這些選項是位遮蔽的一部分,或許可以同時指定這些選項(如,可以同時指定 multiline 和 singleline)。

方法說明

compiled

當在迴圈中執行許多匹配操作時使用此選項。這可以節省每一迴圈的分析表示式步驟。

multiline

它與輸入字串中的行數沒有關係。確切地說,它只修改^$的方式,以便匹配行開始 (bol) 和行結尾 (eol),而不是匹配整個輸入字串的開始和結尾。

ignorecase

使模式在匹配搜尋字串時忽略大小寫。

ignorepatternwhitespace

允許根據需要在模式中包括任意數量的空白區域,也支援使用 (?# 注釋 #) 語法在模式中加入注釋。

singleline

它與輸入字串中的行數沒有關係。更確切地說,它將導致.(句點)元字元匹配任意字元,而不是除 /n 之外的任意字元(預設情況)。

private void validatezipbutton_click(object sender, system.eventargs e)

$"; if(regex.ismatch(ziptextbox.text, zipregex))

else

}

類似的,可以使用靜態 replace() 方法將匹配替換為特定字串,如下所示:

string newtext = regex.replace(inputstring, pattern, replacementtext);
最後,可以使用如下**遍歷輸入字串的匹配集合:

private void matchbutton_click(object sender, system.eventargs e)

}

通常,在您需要指定預設方式以外的方式時,需要例項化regex類的例項。特別是在設定選項時。例如,要建立忽略大小寫和模式空白區域的 regex 例項,然後檢索與該表示式匹配的集合,則應使用如下**:

regex re = new regex(pattern, 

regexoptions.ignorecase | regexoptions.ignorepatternwhitespace);

matchcollection mc = re.matches(inputstring);

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...