欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
完善匹配中文的Php正則表達式
這段時(shí)間試圖使用php正則表達式(Perl 兼容正則表達式函數)處理中文文本信息,在匹配中文上遇到諸多問(wèn)題,求助于網(wǎng)上的參考資料,然網(wǎng)文多良莠不齊,并存在諸多謬誤,經(jīng)過(guò)幾天的探索和測試,終于總結出了幾種可用方式的,寫(xiě)下供有興趣者參考,為紛繁復雜的網(wǎng)文又增加一篇。

1.       籠統的使用元字符匹配中文,/.*?/s,可匹配一段中文,這在A(yíng)NSI(gb2312)和utf-8環(huán)境的程序代碼都可以實(shí)現。但提醒一下,\w不能匹配中文。曾在一本《精通正則表達式》(人民郵電出版社,沙金編著(zhù))書(shū)上看到可以使用\w匹配中文,這里糾正一下用php不行??梢允褂?#8221;/./”,”/[^\d]/”,”/[^a]/”,匹配中文字符。

2.       如果要精準匹配中文,即匹配純中文字符,或匹配中文字符加上全角標點(diǎn),則需要根據不同編碼環(huán)境使用不同方法。下面以?xún)煞N常用的編碼(gb2312,utf-8)進(jìn)行介紹:

在A(yíng)NSI(gb2312)環(huán)境下,可使用[chr(0xnn)-chr(0xmm)]的方式匹配,如在一篇網(wǎng)文上就提供這樣的方法,”/[".chr(0xb0)."-".chr(0xf7)."]+/”,這是可以使用的,但這太過(guò)籠統,這個(gè)表達式是匹配全部的gb2312編碼表的字符(gb2312編碼表http://hi.baidu.com/gaojinshan/blog/item/5a904010327e6609213f2e8d.html),既包括漢字、標點(diǎn)、日文平假名等,還有一些不知是什么符號的。而從編碼表可以看出漢字的編碼范圍是0xb0a1-0xf7fe,并且gb2312是用兩個(gè)字節進(jìn)行編碼的,每個(gè)字節最高位都是1 。所以可以藉此寫(xiě)出單純匹配漢字的正則式:

"/([".chr(0xb0)."-".chr(0xf7)."][".chr(0xa1)."-".chr(0xfe)."])/" ,該表達式能匹配一個(gè)中文字符,數量關(guān)系就可以容易擴展了。

并且舉一反三,如果想匹配全角標點(diǎn)而不匹配中文就可以這樣寫(xiě):

"/([".chr(0xa1)."-".chr(0xa3)."][".chr(0xa1)."-".chr(0xff)."])/",就是匹配編碼范圍0xa1a1-0xa3ff內的符號。其他的類(lèi)似。

3.       下面介紹utf-8環(huán)境下中文的匹配。類(lèi)似于上面,也可以使用unicode編碼表(全部編碼表,http://hi.baidu.com/lbeny_hit/blog/item/bdb670efade0bffcb2fb95dc.html 。字體編輯用中日韓漢字Unicode編碼表,u (PCRE_UTF8) 此修正符啟用了一個(gè) PCRE 中與 Perl 不兼容的額外功能。模式字符串被當成 UTF-8。本修正符在 Unix 下自 PHP 4.1.0 起可用,在 win32 下自 PHP 4.2.3 起可用。自 PHP 4.3.5 起開(kāi)始檢查模式的 UTF-8 合法性。這正是正確匹配所必須的。其實(shí)也想提醒一下,是utf-8環(huán)境使用元字符匹配字符串最好加上修正符u,這只是經(jīng)驗。

下面給兩個(gè)例子:

(1)     ANSI編程環(huán)境下:

$strtest = “yyg中文字符yyg”;

$pregstr = "/([".chr(0xb0)."-".chr(0xf7)."][".chr(0xa1)."-".chr(0xfe)."])+/i";

if(preg_match($pregstr,$strtest,$matchArray)){

echo $matchArray[0];

}

//output:中文字符

(2)     Utf-8編程環(huán)境下:

$strtest = “yyg中文字符yyg”;

$pregstr = "/[\x{4e00}-\x{9fa5}]+/u";

if(preg_match($pregstr,$strtest,$matchArray)){

echo $matchArray[0];

}

//output:中文字符

 


打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
phpgd庫中文亂碼的產(chǎn)生與解決方法詳解 || mao的博客
php?正則匹配中文--delphi
編程語(yǔ)言如何用正則表達式來(lái)表示中文
細說(shuō)PHP中strlen和mb_strlen的區別
javascript 和php 內置實(shí)現 url 的編碼和解碼
字符編碼方式
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久