php正则表达式不匹配中文怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则表达式不匹配中文怎么写相关的知识,希望对你有一定的参考价值。

参考技术A 试试这个:
$str = "得到";

if (preg_match("/^[\x4e00-\x9fa5]+$/u",$str))

print("该字符串全部是中文");

else

print("该字符串不全部是中文");

本回答被提问者采纳

PHP正则表达式问题

<?php
$mode="/(.*)/U";
$str="seddmenfff";
if(preg_match_all($mode,$str,$arr))

echo print_r($arr);


else
echo "匹配不成功";


?>
为什么(.*)不直接写.*

刚学 怎么理解其转换为数组的?

()用来表示匹配细节,如没有括号$arr就匹配全部的一个串

如果正则中有 /(.*)aaa(.*)/ 这样$arr[0]就是匹配全串,$arr[1]匹配第一个括号的内容,$arr[2]匹配第二个括号的内容,
参考技术A 为什么(.*)不直接写.*

PS:(.*)是指匹配所有,因为你想要的是sed和ff, .*则无法得到正确匹配 ;

preg_match_all返回的值就是array型,preg_match匹配指定位置,preg_match_all则符合条件的全部匹配,二者都是返回的array类型;
通常取array键值为1的部分做为结果;

以上是关于php正则表达式不匹配中文怎么写的主要内容,如果未能解决你的问题,请参考以下文章

PHP正则表达式问题

PHP中正则表达式匹配字母

php 中文标点逗号‘,’怎么用正则匹配

JAVA正则表达式判断 只能包含汉字、英文、“_”和数字 ,正则该怎么写呢?

正则表达式匹配文件类型

java正则表达式 过滤特殊字符 只允许中文、字母和数字, 该怎么写?急。。。