W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
.NET 中的正則表達(dá)式包括三個(gè)其他語(yǔ)言構(gòu)造。 其中一個(gè)使你可以在正則表達(dá)式模式中間啟用或禁用特定匹配選項(xiàng)。 其余兩個(gè)使你可以在正則表達(dá)式中包含注釋。
可以使用語(yǔ)法為正則表達(dá)式的一部分設(shè)置或禁用特定模式匹配選項(xiàng)
(?imnsx-imnsx)
在問(wèn)號(hào)后列出要啟用的選項(xiàng),在負(fù)號(hào)后列出要禁用的選項(xiàng)。 下表對(duì)每個(gè)選項(xiàng)進(jìn)行了描述。
選項(xiàng) | 描述 |
---|---|
i | 不區(qū)分大小寫(xiě)的匹配。 |
m | 多行模式。 |
n | 僅顯式捕獲。 (圓括號(hào)不充當(dāng)捕獲組。) |
s | 單行模式。 |
x | 忽略未轉(zhuǎn)義空格,并允許 x 模式注釋。 |
(?# comment) 構(gòu)造可用于在正則表達(dá)式中添加內(nèi)聯(lián)注釋 。 正則表達(dá)式引擎在模式匹配中不使用注釋的任何部分,盡管注釋仍包含在 Regex.ToString 方法返回的字符串中。 該注釋在第一個(gè)右括號(hào)處終止。
下面的示例重復(fù)了上一部分的示例中的第一個(gè)正則表達(dá)式模式。 它將兩個(gè)內(nèi)聯(lián)注釋添加到該正則表達(dá)式,以指示比較是否區(qū)分大小寫(xiě)。 正則表達(dá)式模式 \b((?# case-sensitive comparison)D\w+)\s(?ixn)((?#case-insensitive comparison)d\w+)\b 按以下方式定義。
模式 | 描述 |
---|---|
\b | 在單詞邊界處開(kāi)始。 |
(?# case-sensitive comparison) | 注釋。 它不影響模式匹配行為。 |
(D\w+) | 匹配后跟一個(gè)或多個(gè)單詞字符的大寫(xiě)“D”。 這是第一個(gè)捕獲組。 |
\s | 與空白字符匹配。 |
(?ixn) | 從此處起,使比較不區(qū)分大小寫(xiě),僅進(jìn)行顯式捕獲,以及忽略正則表達(dá)式模式中的空格。 |
(?#case-insensitive comparison) | 注釋。 它不影響模式匹配行為。 |
(d\w+) | 匹配后跟一個(gè)或多個(gè)單詞字符的大寫(xiě)或小寫(xiě)“d”。 這是第二個(gè)捕獲組。 |
\b | 與字邊界匹配。 |
數(shù)字符號(hào) (#) 標(biāo)記 x 模式注釋,即從正則表達(dá)式模式末尾的未轉(zhuǎn)義 # 字符開(kāi)始一直延續(xù)到行末。 若要使用此構(gòu)造,必須啟用 x 選項(xiàng)(通過(guò)內(nèi)聯(lián)選項(xiàng)),或在實(shí)例化 Regex 對(duì)象或調(diào)用靜態(tài) Regex 方法時(shí)向 option 參數(shù)提供 RegexOptions.IgnorePatternWhitespace 值。
下面的示例說(shuō)明行尾注釋構(gòu)造。 它確定字符串是否為包含至少一個(gè)格式項(xiàng)的復(fù)合格式字符串。 下表描述了正則表達(dá)式模式中的構(gòu)造:
\{\d+(,-*\d+)*(\:\w{1,4}?)*\}(?x) # Looks for a composite format item.
模式 | 描述 |
---|---|
\{ | 匹配左大括號(hào)。 |
\d+ | 匹配一個(gè)或多個(gè)十進(jìn)制數(shù)字。 |
(,-*\d+)* | 與零個(gè)或一個(gè)后跟一個(gè)可選負(fù)號(hào)、再后跟一個(gè)或多個(gè)十進(jìn)制數(shù)字的逗號(hào)匹配。 |
(\:\w{1,4}?)* | 與零個(gè)或一個(gè)后跟一到四個(gè)(但盡可能少)空白字符的冒號(hào)匹配。 |
\} | 匹配右大括號(hào)。 |
(?x) | 啟用忽略模式空格選項(xiàng),以便識(shí)別行尾注釋。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: