我的世界怎么调视距:在PHP中,这个正则表达时我不懂

来源:百度文库 编辑:高考问答 时间:2024/04/20 06:24:03
<?php
if (eregi("^[\x80-\xFE]+$",$bian)){
echo "通过";
}
?>
使用这个就可以检验变量是否含有中文
为什么,我不明白

不可以。详细解释一下
1、^表示字符串开始,$表示字符串结束,模式中这两个,说明目标字符串只能是符合[\x80-\xFE]+的,它前面和后面不能再有其它字符。
2、+表示匹配1个或更多个+号之前的字符,+号之前的字符必须出现至少1次,即符合 [\x80-\xFE] 要求的字符至少要出现1次。
3、[\x80-\xFE]表示允许字符的范围是 \x80 到 \xFE
4、\x80之类的\x后接两个数字,匹配表示二位十六进制代码为80的字符,\x80是€,\xFE是þ,所以[\x80-\xFE]表示从€到þ的这126个字符,这其中没有任何中文字。

可行的代码
$str= '中文';
if (preg_match("/^[\xa1-\xff]+$/", $str)) {
echo "这是一个纯中文字符串";
} else {
echo "这不是一个纯中文字串";
}