PHP正則表達式 /i, /is, /s, /isU等
PHP正則表達式 /i, /is, /s, /isU等 都(dōu)是(shì)些(xiē)什(shén)麽✘東(dōng)西(xī)呢(ne)?
i 匹配大(dà)小(xiǎo)寫
s 模式中的(de)圓點元字符(.)匹配所有(yǒu)的(de)字符,包括換行(xíng)符
x 模式中的(de)空(kōng)白(bái)字符除了(le)被轉義的(de)或在字符類中的(de)以外(wài)完全被忽略,在未轉義的(de)字符類之外(wài)的(de) # 以及下(xià)一(yī)個(gè)換行(xíng)符之間(jiān)的(de)所有(yǒu)字符,包括兩 頭,也(yě)都(dōu)被忽略
A (PCRE_ANCHORED) 如(rú)果設定了(le)此修正符,模式被強制(zhì)為(wèi)“anchored”,即強λ制(zhì)僅從(cóng)目标字符串的(de)開(kāi)頭開(kāi)始匹配即自(zì)動在模式開(kāi)頭加上(shàng)^。
D (PCRE_DOLLAR_ENDONLY) 如(rú)果設定了(le)此修正符,模式中的(de)美(měi)元元字符僅匹配目标字符串的(de)結尾γ。沒有(yǒu)此選項時(shí),如(rú)果最後一(yī)個(gè)字符是(shì)換行(xíng)符的(de)話(huà),美(měi)元符号也(yě)會(hu¶ì)匹配此字符之前(但(dàn)不(bù)會(huì)匹配 任何其它換行(xíng)符之前)。如(rú)果設定了φ(le) m 修正符則忽略此選項。Perl 中沒有(yǒu)與其等價的(de)修正符。 合肥網站(zhàn)建設公司
S 當一(yī)個(gè)模式将被使用(yòng)若幹次時(shí),為(wèi)加速匹配起見(jiàn)值得(de)先對(duì)其進行(xíng)分(fēn)析。如(rú)果'設定了(le)此修正符則會(huì)進行(xíng)額外(wài)的(de)分(fēn)析。目前,分(fēn)析一(yī)個(gè)模式僅對(duì)沒有(yǒu)單一(yī)固定起始字符的(de) non-anchored 模式有(yǒu)用(yòng)。
U (PCRE_UNGREEDY) 本修正符反轉了(le)匹配數(shù)量的(de)值使其不(bù)是(shì)默™認的(de)重複,而變成在後面跟上(shàng)“?”才變得(de)重複。這(zhè)和(hé) Perl 不(bù)兼容。也(yě)可(kě)以通(tōng)過在模式之中設定 (?U) 修正符來(∞lái)啓用(yòng)此選項。
X (PCRE_EXTRA) 此 修正符啓用(yòng)了(le)一(yī)個(gè) PCRE 中π與 Perl 不(bù)兼容的(de)額外(wài)功能(néng)。模式中的(de)任何反斜線後面跟上(shàng)一(yī)個(gè)★沒有(yǒu)特殊意義的(de)字母導緻一(yī)個(gè)錯(cuò)誤,從(cóng)而保留此組合以備将 來(lái)擴充。默認情況下(xià),和(hé) Perl™ 一(yī)樣,一(yī)個(gè)反斜線後面跟一(yī)個(gè)沒有(yǒu)特殊意義的(de)字母被當成該字母本身(shēn)。當前沒有(yǒu)其它特性受此修正符控制(zhì✘)。即:貪婪模式,最 大(dà)限度匹配 如(rú):/a[\w]+?e/U匹配abceadeddd中的(de)abceade而不(b₽ù)是(shì)abce,如(rú)果不(bù)加U修正,則匹配abce u (PCRE_UTF8§) 此修正符啓用(yòng)了(le)一(yī)個(gè) PCRE 中與 Perl 不(bù)兼容的(de)額外(wài)功能(néng)。模式字符串被當 成 UTF-8。本修正符在 Unix 下(xià)自(zì) PHP 4.1.0 起可(kě)用(yòng),在 win32 下(xià≠)自(zì) PHP 4.2.3 起可(kě)用(yòng)。
