匹配中文字符串正则表达式

 

 代码如下 复制代码

$str_arr = array(
"iameverysorry",
"快乐编程,快乐生活",
"php教程编程",
"1997年香港回归",
"英语学习abc",
"www.111cn.net"
);

$patt_ch = chr(0xa1) . "-" . chr(0xff);

foreach ($str_arr as $str)
{
    echo "字符串'$str' 是";
    if (preg_match("/^[$patt_ch]+$/", $str))
    {
        echo "<b>完全中文</b>";
        echo "<br>";
        echo "<br>";
    }
    else
    {
        echo "非完全中文";
        echo "<br>";
        echo "<br>";
    }
}

/*
字符串'iameverysorry' 是非完全中文

字符串'快乐编程,快乐生活' 是完全中文

字符串'php编程' 是非完全中文

字符串'1997年香港回归' 是非完全中文

字符串'英语学习abc' 是非完全中文

字符串'123456789' 是非完全中文
*/

时间: 2024-08-31 19:13:22

匹配中文字符串正则表达式的相关文章

C#匹配中文字符串的4种正则表达式分享

本文介绍在C#中使用匹配中文的正则表达式,包括纯中文.有中文.中文开头.中文结尾等几个正则表达式示例.在正则表达式中,中文可以通过Unicode编码来确定正则表达式范围. 在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5].所以,在此基础上,我们可以得到如下一些正则表达式. 1.匹配字符串全部是中文字符的正则表达式 代码如下: "^[\u4e00-\u9fa5]+$" 说明:"^"表示字符串开头,"$"

java 正则匹配空格字符串 正则表达式截取字符串

  java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = @pid ; update t set a = @aa,b=@bb,c=@cd,ttt=@ttt;update t2 set d=@bb"; 我要拿出所有的以@开头的作为变量,并且去重,则如下玩: ps:其中正则匹配空格是 "\s+"   public class Test

python 匹配中文的正则表达式介绍

正在编写的一个小程序MiniBlogs Updater中,需要计算用户所输入的文字字数.因为中英文字符编码长度不一,如果直接使用python中的len()函数,它计算的是该字串的实际长度,一个中文字并非等同于一个英文字母的.因此,需要把中文字当成英文字母来处理. 我写了这样一条语句来处理:  代码如下 复制代码  length=len(re.sub('[x80-xff]{3}','a',msg)) 它的意思是,把所有的中文都替换成英文字母a,然后再统计字数.(只是统计而已,不修改源字串.)这条语

python正则表达式匹配中文详解

如果你需要知道在python中匹配中文汉字的话我们就必须先查看下表 UTF8 [x01-x7f]|[xc0-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3} UTF16 [x00-xd7][xe0-xff]|[xd8-xdf][x00-xff]{2} JIS [x20-x7e]|[x21-x5f]|[x21-x7e]{2} SJIS [x20-x7e]|[xa1-xdf]|([x81-x9f]|[xe0-xef])([x40-x7

Java使用正则表达式(regex)匹配中文实例代码_java

只能输入中文 /** * 22.验证汉字 * 表达式 ^[\u4e00-\u9fa5]{0,}$ * 描述 只能汉字 * 匹配的例子 清清月儿 */ @Test public void a1() { Scanner sc = new Scanner(System.in); String input = sc.nextLine(); String regex = "^[\\u4e00-\\u9fa5]*$"; Matcher m = Pattern.compile(regex).matc

中文匹配-bash中怎么匹配中文字符

问题描述 bash中怎么匹配中文字符 正则表达式[u4e00-u9fa5]在shell中为什么匹配不出中文,且在grep中报出grep:Invalid range end,我想在shell中匹配输入的中文该怎么做呢 解决方案 Bash 字符匹配正则匹配中文字符中文字符及其中文标点符号正则表达式匹配 解决方案二: 还要看bash是对中文如何编码的,不然没办法直接匹配.

求在字符串中匹配中文数字组合的java正则表达式

问题描述 求一个在字符串中识别 中文和数字组合的子串 的java方法,如用正则表达式来匹配.如何匹配? 中文和数字组合的子串 子串格式为:1.中文个数 为 3-6个字. 2.数字 可以固定在1-4位, 正则为d{1,4}. 3."号"字如"小镇100号""大街101号" 这种形式 输入为 1个字符串 s="我在小镇100号"; 输出为 result = "小镇100号"; 输入为 1个字符串 s="

java匹配中文汉字的正则表达式

  代码如下   [u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符 [u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符 匹配中文字符的正则表达式: [u4e00-u9fa5] 匹配双字节字符(包括汉字在内):[^x00-xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 代码如下   String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").

php 正则表达式匹配中文规则

utf-8环 境下中文的匹配 \w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 或许你也需要匹配双字节字符,中文也是双字节的字符 匹配双字节字符(包括汉字在内):[^\x00-\xff] 注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 在ANSI(gb2312)环 境下 匹配全部的gb2312编 码表的字符:/[".chr(0xb0)."-".chr(0xf7).