中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

中文的簡單正則匹配

發布時間:2020-07-24 05:01:09 來源:網絡 閱讀:1680 作者:bieru 欄目:開發技術

在PHP中使用正則匹配中文,很多時候會出現問題,在不同的編碼情況下,正則表達式不太一樣,所以希望大家注意,在使用正則匹配中文的時候,多多注意編碼問題。


在JS下能夠使用的在PHP中不一定可以使用,比如:/^[a-zA-Z0-9\_\.\_\.\u4E00-\u9FA5\uF900-\uFA2D]+$/;


如果在PHP中使用 :\u4E00-\u9FA5\uF900-\uFA2D  來匹配,那么會在運行PHP腳本的時候出現錯誤,


Warning: preg_match(): Compilation failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 6


那是因為:PHP正則表達式中不支持下列 Perl 轉義序列:\L, \l, \N, \P, \p, \U, \u, or \X 


但是在在 UTF-8 模式下,允許用“\x{...}”,花括號中的內容是表示十六進制數字的字符串,一下給出了一個簡單的中文匹配示例:


        //匹配中文、英文字符、數字、特殊符號全角除外
	$str  = 'adf^^**^k2)(*&3423sfdgsdf#$%^423jkalk阿拉丁解放路dsfj';
	$rule = "/([\x80-\xff]{1,})/";
	echo "<pre>";
	preg_match_all("/([?=[\x21-\x7e]{1,}|[A-Za-z0-9]{1,}|[\x{4e00}-\x{9fa5}]{1,})/u", $str, $m);
	var_dump($m);

	//支持特殊符號(半角)
	$rule = "/((?=[\x21-\x7e])[^A-Za-z0-9]){1,}/u";
	preg_match($rule, $str, $m);
	var_dump($m);

	//匹配中文····
	$str = "erwerwe.·中文·匹配·324#¥%……";
	$rule = "/([\x{4e00}-\x{9fa5}\·]{1,})/ius";
	preg_match($rule, $str, $m);
	var_dump($m);

	//匹配郵件
	$email ="qwerty234234@234567_#$%@yahoo.cn";
	//$email = "bieru52@aliyun.com";
	$rule = "/(^[a-zA-Z0-9][a-zA-Z0-9\.\_\-]{1,30}@[a-zA-Z0-9_-]{1,10}(\.[a-zA-Z0-9_-]{1,10}){0,4})\.[a-zA-Z]{1,10}$/";
	$m = preg_match($rule, $email);
	var_dump($m);


雙字節字符編碼范圍 

GBK (GB2312/GB18030) 
x00-xff GBK雙字節編碼范圍 
x20-x7f ASCII 
xa1-xff 中文 gb2312 
x80-xff 中文 gbk 

 UTF-8 (Unicode) 

u4e00-u9fa5 (中文) 


參考文檔: 正則表達式30分鐘入門教程 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德化县| 离岛区| 巢湖市| 阿城市| 云浮市| 临澧县| 辽中县| 临夏市| 永德县| 蓬莱市| 桐乡市| 澎湖县| 永州市| 禄劝| 龙胜| 友谊县| 崇左市| 阿克苏市| 珲春市| 宜丰县| 新化县| 梁河县| 承德县| 普陀区| 海城市| 南京市| 芮城县| 辽宁省| 土默特右旗| 定兴县| 正宁县| 孝感市| 苍南县| 朔州市| 永昌县| 西安市| 五指山市| 宽城| 盘锦市| 垫江县| 尼勒克县|