色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

PHP擴(kuò)展之文本處理(二)——PCRE正則表達(dá)式語法6——字符類(方括號(hào))和可選路徑(|)

瀏覽:71日期:2022-09-16 08:00:13
字符類(方括號(hào))

左方括號(hào)開始一個(gè)字符類的描述,并以方中括號(hào)結(jié)束。 單獨(dú)的一個(gè)右方括號(hào)沒有特殊含義。如果一個(gè)右方括號(hào)需要作為一個(gè)字符類中的成員, 那么可以將它寫在字符類的首字符處(如果使用了^取反, 那么是第二個(gè))或者使用轉(zhuǎn)義符。

一個(gè)字符類在目標(biāo)字符串中匹配一個(gè)單獨(dú)的字符; 該字符必須是字符類中定義的字符集合的其中一個(gè), 除非使用了 ^ 對(duì)字符類取反。 如果^需要作為一個(gè)字符類的成員,確保它不是該字符類的首字符, 或者對(duì)其進(jìn)行轉(zhuǎn)義即可。

例如,字符類[aeiou]匹配所有的小寫元音字母, 而[^aeiou]匹配所有非元音字母的字符。注意: ^只是一個(gè)通過枚舉指定那些不存在字符類之中的字符的便利符號(hào)。而不是斷言, 它仍然會(huì)從目標(biāo)字符串中消耗一個(gè)字符,并且如果當(dāng)前匹配點(diǎn)在目標(biāo)字符串末尾, 匹配將會(huì)失敗。

當(dāng)大小寫無關(guān)匹配被設(shè)置后,任意字符類都同時(shí)代表大小寫兩種版本,因此對(duì)于例子, 一個(gè)大小寫不敏感的[aeiou]同時(shí)匹配'A'和'a', 并且大小寫不敏感的[^aeiou]同時(shí)不匹配 'A'。

換行符在字符類中沒有任何特殊涵義, 與?PCRE_DOTALL?或?PCRE_MULTILINE?選項(xiàng)都無關(guān)。 一個(gè)字符類比如 [^a] 始終會(huì)匹配換行符。

在字符類中,一個(gè)中劃線(減號(hào) -)可以用于指定從一個(gè)字符到另一個(gè)字符的范圍。 比如,[d-m]匹配d到m之間的所有字符,這個(gè)集合時(shí)閉合的。 如果中劃線自身要在一個(gè)字符類中描述, 它必須被轉(zhuǎn)移或者出現(xiàn)在一個(gè)不會(huì)被解釋為一個(gè)范圍的位置, 典型的比如字符類開始或結(jié)束位置。

在一個(gè)字符范圍描述后面不能使用右中括號(hào)。 比如一個(gè)模式 [W-]46] 被解釋為一個(gè)包含 W 和 - 的字符類,后面緊跟字符串 ”46]”, 因此它可以匹配 ”W46]” 或 ”-46]”。然而, 如果中括號(hào)是經(jīng)過轉(zhuǎn)義的, 它將會(huì)被解釋為范圍的終點(diǎn), 因此 [W-]46] 就會(huì)被解釋為一個(gè)單獨(dú)的包含 W 至 ] 范圍內(nèi)所有字符以及 4、6 的字符類。 8 進(jìn)制或 16 進(jìn)制描述的中括號(hào)同樣可以用于作為范圍的終點(diǎn)。

范圍操作以 ASCII 整理排序。它們可以用于為字符指定數(shù)值,比如 [000-037]。 如果在大小寫不敏感匹配模式下使用一個(gè)包含字母的范圍, 則同時(shí)匹配它的大小寫形式。 比如 [W-c] 在不區(qū)分大小寫匹配時(shí)等價(jià)于 [][^_`wxyzabc],并且, 如果使用了 ”fr”(法國) 的地域設(shè)置字符表時(shí), [xc8-xcb] 將會(huì)在所有模式下匹配重音E字符。

字符類d、D、 s、S、w 和 W 也可以出現(xiàn)在一個(gè)字符類中, 用以將其匹配的字符類加入到新的自定義字符類中。比如, [dABCDEF] 匹配任意合法的 16 進(jìn)制數(shù)。用 ^ 可以很方便的制定嚴(yán)格的字符類, 比如 [^W_] 匹配任何字母或數(shù)字,但不匹配下劃線。

所有非字母數(shù)字字符除了、-、 ^(在起始位置)以及結(jié)束的]在字符類中都是非特殊字符, 沒有轉(zhuǎn)義也不會(huì)有危害。模式結(jié)束符在表達(dá)式中總是特殊字符,必須進(jìn)行轉(zhuǎn)義。

Perl 支持 POSIX 字符類符號(hào)。這種字符類使用[:和:]閉合。 PCRE 同樣支持這些字符類, 比如,[01[:alpha:]%]匹配 ”0”、“1”、任意字母或”%”。

可選路徑(|)

豎線字符用于分離模式中的可選路徑。 比如模式gilbert|Sullivan匹配 ”gilbert” 或者 ”sullivan”。 豎線可以在模式中出現(xiàn)任意多個(gè),并且允許有空的可選路徑(匹配空字符串)。 匹配的處理從左到右嘗試每一個(gè)可選路徑,并且使用第一個(gè)成功匹配的。 如果可選路徑在子組(下面定義)中, 則”成功匹配”表示同時(shí)匹配了子模式中的分支以及主模式中的其他部分。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 日韩a一级欧美一级 | 欧洲乱码伦视频免费 | 久久亚洲国产的中文 | 免费一极毛片 | 日韩a级毛片免费视频 | japanese色系国产在线高清 | 模特精品一区二区三区 | 国产精品免费_区二区三区观看 | 色婷婷国产精品欧美毛片 | 欧美日本一区二区三区生 | 欧美性生交大片免费看 | 欧美xxxx在线视频 | 5级做人爱c视版免费视频 | 男人天堂1024 | 日本欧美一级二级三级不卡 | 一区二区三区国产美女在线播放 | 黄网免费| 一级一级毛片免费播放 | 亚洲一区国产 | 一级毛片在线不卡直接观看 | 精品毛片| 一级毛片一级毛片a毛片欧美 | 欧美日韩一区二区三区四区在线观看 | 免费一级美国片在线观看 | 一区二区亚洲精品 | 视频精品一区二区三区 | 国产成人福利免费观看 | 午夜久久影院 | 米奇777色狠狠8888影视 | 日本特爽特黄特刺激大片 | 国产91成人| 欧美性高清bbbbbbxxxxx | 日韩不卡在线观看 | 亚洲国产激情一区二区三区 | 久久成 | 亚洲线精品一区二区三区 | 亚洲一区二区三区91 | 久久99亚洲精品久久久久99 | 国产成人精品综合久久久软件 | 99国产精品热久久久久久夜夜嗨 | 国产精品久久久香蕉 |