主頁 > 知識庫 > 匹配中文的正則(GB2312/utf-8)

匹配中文的正則(GB2312/utf-8)

熱門標(biāo)簽:RO地圖標(biāo)注app 電銷機(jī)器人公司簡介 知名的電話機(jī)器人 高德地圖標(biāo)注短信簽約 湖南企業(yè)智能外呼系統(tǒng)供應(yīng)商 自制電銷機(jī)器人 福州工作銷售電話機(jī)器人 百音電話機(jī)器人 錫林郭勒盟地圖標(biāo)注位置
i (PCRE_CASELESS)
如果設(shè)定此修正符,模式中的字符將同時(shí)匹配大小寫字母。

m(PCRE_MULTILINE)
默認(rèn)情況下,PCRE 將目標(biāo)字符串作為單一的一“行”字符所組成的(甚至其中包含有換行符也是如此)?!靶衅鹗肌痹址╚)僅僅匹配字符串的起始,“行結(jié)束”元字符($)僅僅匹配字符串的結(jié)束,或者最后一個(gè)字符是換行符時(shí)其前面(除非設(shè)定了 D 修正符)。這和 Perl 是一樣的。

當(dāng)設(shè)定了此修正符,“行起始”和“行結(jié)束”除了匹配整個(gè)字符串開頭和結(jié)束外,還分別匹配其中的換行符的之后和之前。這和 Perl 的 /m 修正符是等效的。如果目標(biāo)字符串中沒有“\n”字符或者模式中沒有 ^ 或 $,則設(shè)定此修正符沒有任何效果。

s(PCRE_DOTALL)
如果設(shè)定了此修正符,模式中的圓點(diǎn)元字符(.)匹配所有的字符,包括換行符。沒有此設(shè)定的話,則不包括換行符。這和 Perl 的 /s 修正符是等效的。排除字符類例如 [^a] 總是匹配換行符的,無論是否設(shè)定了此修正符。

x(PCRE_EXTENDED)
如果設(shè)定了此修正符,模式中的空白字符除了被轉(zhuǎn)義的或在字符類中的以外完全被忽略,在未轉(zhuǎn)義的字符類之外的 # 以及下一個(gè)換行符之間的所有字符,包括兩頭,也都被忽略。這和 Perl 的 /x 修正符是等效的,使得可以在復(fù)雜的模式中加入注釋。然而注意,這僅適用于數(shù)據(jù)字符??瞻鬃址赡苡肋h(yuǎn)不會出現(xiàn)于模式中的特殊字符序列,例如引入條件子模式的序列 (?( 中間。

e
如果設(shè)定了此修正符,preg_replace() 在替換字符串中對逆向引用作正常的替換,將其作為 PHP 代碼求值,并用其結(jié)果來替換所搜索的字符串。

只有 preg_replace() 使用此修正符,其它 PCRE 函數(shù)將忽略之。

注意: 本修正符在 PHP3 中不可用。

A(PCRE_ANCHORED)
如果設(shè)定了此修正符,模式被強(qiáng)制為“anchored”,即強(qiáng)制僅從目標(biāo)字符串的開頭開始匹配。此效果也可以通過適當(dāng)?shù)哪J奖旧韥韺?shí)現(xiàn)(在 Perl 中實(shí)現(xiàn)的唯一方法)。

D(PCRE_DOLLAR_ENDONLY)
如果設(shè)定了此修正符,模式中的美元元字符僅匹配目標(biāo)字符串的結(jié)尾。沒有此選項(xiàng)時(shí),如果最后一個(gè)字符是換行符的話,美元符號也會匹配此字符之前(但不會匹配任何其它換行符之前)。如果設(shè)定了 m 修正符則忽略此選項(xiàng)。Perl 中沒有與其等價(jià)的修正符。

S
當(dāng)一個(gè)模式將被使用若干次時(shí),為加速匹配起見值得先對其進(jìn)行分析。如果設(shè)定了此修正符則會進(jìn)行額外的分析。目前,分析一個(gè)模式僅對沒有單一固定起始字符的 non-anchored 模式有用。

U(PCRE_UNGREEDY)
本修正符反轉(zhuǎn)了匹配數(shù)量的值使其不是默認(rèn)的重復(fù),而變成在后面跟上“?”才變得重復(fù)。這和 Perl 不兼容。也可以通過在模式之中設(shè)定 (?U) 修正符或者在數(shù)量符之后跟一個(gè)問號(如 .*?)來啟用此選項(xiàng)。

X(PCRE_EXTRA)
此修正符啟用了一個(gè) PCRE 中與 Perl 不兼容的額外功能。模式中的任何反斜線后面跟上一個(gè)沒有特殊意義的字母導(dǎo)致一個(gè)錯(cuò)誤,從而保留此組合以備將來擴(kuò)充。默認(rèn)情況下,和 Perl 一樣,一個(gè)反斜線后面跟一個(gè)沒有特殊意義的字母被當(dāng)成該字母本身。當(dāng)前沒有其它特性受此修正符控制。

u(PCRE_UTF8)
此修正符啟用了一個(gè) PCRE 中與 Perl 不兼容的額外功能。模式字符串被當(dāng)成 UTF-8。本修正符在 Unix 下自 PHP 4.1.0 起可用,在 win32 下自 PHP 4.2.3 起可用。自 PHP 4.3.5 起開始檢查模式的 UTF-8 合法性。
您可能感興趣的文章:
  • 正則表達(dá)式匹配中文與雙字節(jié)的代碼
  • PHP 正則表達(dá)式驗(yàn)證中文的問題
  • 正則表達(dá)式中\(zhòng)w不能識別中文
  • 利用正則表達(dá)式(只錄入中文,數(shù)字,英文)
  • 用正則表達(dá)式來表示中文
  • php正則表達(dá)匹配中文問題分析小結(jié)

標(biāo)簽:吉林 昆明 玉林 秦皇島 河北 西寧 怒江 茂名

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《匹配中文的正則(GB2312/utf-8)》,本文關(guān)鍵詞  匹配,中文,的,正則,GB2312,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《匹配中文的正則(GB2312/utf-8)》相關(guān)的同類信息!
  • 本頁收集關(guān)于匹配中文的正則(GB2312/utf-8)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章