溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ASP.NET正則表達(dá)式的功能是什么

發(fā)布時間:2021-12-06 15:41:51 來源:億速云 閱讀:152 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“ASP.NET正則表達(dá)式的功能是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“ASP.NET正則表達(dá)式的功能是什么”吧!

ASP.NET正則表達(dá)式高級功能

正則表達(dá)式有兩個不得不說的功能,一個是“命名組”,另一個是“四向處理”(lookaround processing)。由于這些功能很少使用,此處只簡單闡述一下。

ASP.NET正則表達(dá)式的命名組

使用命名組,您可單獨命名匹配組,然后在表達(dá)式中使用程序語言引用這些組。如果結(jié)合 Replace 方法重新設(shè)置輸入字符串的格式(通過重新排列順序、替換輸入字符串中的元素),這個功能特別有效。例如,假設(shè)日期使用 MM/DD/YYYY 格式的字符串,而您希望日期格式是 DD-MM-YYYY。此時,可編寫一個表達(dá)式捕獲***種格式,遍歷它的匹配集合,并分析每個字符串,然后使用字符串操作建立替換字符串。這需要大量的代碼和大量的處理。如果使用命名組,您可完成同樣的任務(wù),具體見下:

String MDYToDMY(String input)  {     return Regex.Replace(intput, @"\b(?<month>\d{1,2})/(?<day>\d{1,2}/(?<year>\d{4})\b", "${day}-  ${month}-${year}");  }

您還可以按編號或按名稱引用組。在任何情況下,這種引用通稱作“反向引用”。另一個經(jīng)常使用反向引用的場合在匹配表達(dá)式本身,如下這個表達(dá)式用于查找重復(fù)的字母:[a-z]\1。它將匹配“aa”、“bb”、“cc”,但它不同于 [a-z]{2}[a-z][a-z],后兩者是等效的,后兩者允許匹配“ab”或“ac”或任何其他兩個字母的組合。反向引用允許表達(dá)式記住表達(dá)式已經(jīng)分析并匹配過的輸入字符串中的部分字符。

ASP.NET正則表達(dá)式的“四向處理”

“四向處理”指很多正則表達(dá)式引擎所支持的正負(fù) Lookahead 和 Lookbehind 功能。并不是所有的正則表達(dá)式引擎都支持驗證四向處理。這些構(gòu)造不使用字符,即使它們可以匹配字符。有些模式可能在不使用四向處理的情況下無法描述。特別是當(dāng)模式中存在的一部分依賴于另一部分,如果不使用四向處理,則不能描述這樣的模式。下面介紹了每個四向處理的語法。

語法

說明

(?=...)

正 Lookahead

(?!...)

負(fù) Lookahead

(?<=...)

正 Lookbehind

(?<!...)

負(fù) Lookbehind

密碼驗證是必需四向處理的一個示例。假定在密碼限制中,密碼必須介于 4 到 8 個字符,且必須至少包含一個數(shù)字。為此,您可以僅在匹配中測試 \d,然后使用字符串操作來測試長度。但要在正則表達(dá)式中實現(xiàn)這一切,必須使用 Lookahead。特別是正 lookahead,如下所示:^(?=.*\d).{4,8}$

到此,相信大家對“ASP.NET正則表達(dá)式的功能是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI