当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

15.5.2检查中文字符的正则表达式

9/17/2020 9:26:54 PM 人评论

15.5.2检查中文字符的正则表达式

15.5.2 检查中文字符的正则表达式

中文在ASCII码中有一定的范围,这个范围是从0xa1到0xff,所以可以用正则表达式0xa1-0xff来表示中文。代码15-15是检查匹配完全中文字符串的示例程序。

代码15-15 匹配中文字符串15-15.php


01 <?php

02 $str_arr=array(

03 "IAMEVERYSORRY",

04 "快乐编程,快乐生活",

05 "PHP编程",

06 "1997年香港回归",

07 "英语学习ABC",

08 "123456789"

09 );//定义字符串数组

10

11 $patt_ch=chr(0xa1)."-".chr(0xff);//匹配中文字符的ASCII范围

12

13 foreach($str_arr as$str)

14 {

15 echo"字符串'$str'是";

16 if(preg_match("/^[$patt_ch]+$/",$str))//注意在正则表达式的前后使用界定符"//"

17 {

18 echo"完全中文";

19 echo"<br>";

20 echo"<br>";

21 }

22 else

23 {

24 echo"非完全中文";

25 echo"<br>";

26 echo"<br>";

27 }

28 }

29 ?>


【代码解析】这段程序中使用了兼容PERL正则表达式函数preg_match()。代码第11行,使用了函数chr(),该函数返回相对应于ASCII所指定的单个字符。注意第16行在函数preg_match()中所使用匹配中文的模式,在这个正则表达式中加入^和$,以保证匹配完全的中文(即纯中文字符串)。这段代码的执行结果如图15-17所示。

图 15-17 使用正则表达式匹配中文字符串

读者可以试着将正则表达式前后的^和$去掉,看看执行结果有什么不同。

相关教程

共有条评论 网友评论

验证码: 看不清楚?