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