正则表达式匹配中文先要了解中文的编码

代码如下 复制代码
[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").length;}

匹配空行的正则表达式:n[s| ]*r

匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/

匹配首尾空格的正则表达式:(^s*)|(s*$)

知道它了我们就好解决了

代码如下 复制代码
public static void regxChinese(){ 
       // 要匹配的字符串    
       String source = "<span title='5 星级酒店' class='dx dx5'>"; 
       // 将上面要匹配的字符串转换成小写    
      // source = source.toLowerCase();    
       // www.111cn.net 匹配的字符串的正则表达式    
       String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*[u4E00-u9FA5]*)'[\s|\S]

*class='[a-z]*[\s|\S]*[a-z]*[0-9]*'";      
  
       Pattern p = Pattern.compile(reg_charset);    
       Matcher m = p.matcher(source);    
       while (m.find()) {    
        System.out.println(m.group(1)); 
       } 
}
 public static void regxChinese(){
        // 要匹配的字符串 
        String source = "<span title='5 星级酒店' class='dx dx5'>";
        // 将上面要匹配的字符串转换成小写 
       // source = source.toLowerCase(); 
        // 匹配的字符串的正则表达式 
        String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*[u4E00-u9FA5]*)'[\s|\S]

*class='[a-z]*[\s|\S]*[a-z]*[0-9]*'";   
 
        Pattern p = Pattern.compile(reg_charset); 
        Matcher m = p.matcher(source); 
        while (m.find()) { 
         System.out.println(m.group(1));
        }
 }

Java的正则表达式是可以匹配中文字符的,同时,用中文字符来写表达式也是可以的

代码如下 复制代码
String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*星级酒店)'[\s|\S]*class='[a-z]*[\s|\S]

*[a-z]*[0-9]*'";

String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*星级酒店)'[\s|\S]*class='[a-z]*

[\s|\S]*[a-z]*[0-9]*'";

一些常用的正则匹配规则

匹配中文字符的正则表达式: [u4e00-u9fa5]  
  评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
  匹配双字节字符(包括汉字在内):[^x00-xff]
  评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
  匹配空白行的正则表达式:ns*r
  评注:可以用来删除空白行
  匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />
  评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
  匹配首尾空白字符的正则表达式:^s*|s*$
  评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
  匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
  评注:表单验证时很实用
  匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
  评注:网上流传的版本功能很有限,上面这个基本可以满足需求
  匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  评注:表单验证时很实用
  匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
  评注:匹配形式如 0511-4405222 或 021-87888822
  匹配腾讯QQ号:[1-9][0-9]{4,}
  评注:腾讯QQ号从10000开始
  匹配中国邮政编码:[1-9]d{5}(?!d)
  评注:中国邮政编码为6位数字
  匹配身份证:d{15}|d{18}
  评注:中国的身份证为15位或18位
  匹配ip地址:d+.d+.d+.d+
  评注:提取ip地址时有用

更多详细内容请查看:http://www.111cn.net/jsp/Java/46105.htm

java匹配中文汉字的正则表达式的更多相关文章

  1. 匹配中文字符的正则表达式: [/u4e00-/u9fa5]

    原文:匹配中文字符的正则表达式: [/u4e00-/u9fa5] 这里是几个主要非英文语系字符范围(google上找到的): 2E80-33FFh:中日韩符号区.收容康熙字典部首.中日韩辅助部首.注音 ...

  2. java获取中文汉字的所有拼音

    java获取中文汉字的所有拼音   中文汉字可能有很多读音,java中分别用1,2,3,4来区别,例如“作”字,就有三个读音,zuo1,zuo2,zuo4. java获取汉字读音拼音代码如下所示: S ...

  3. java匹配中文的正则表达式

    [\u4E00-\u9FA5]* public static void regxChinese(){ // 要匹配的字符串 String source = "<span title=' ...

  4. PHP正则匹配中文汉字注意

    preg_match('/^[a-zA-Z\x{4e00}-\x{9fa5}]+$/u', $str) 如上,是匹配字母或者汉字的,一定要在后面加模式修饰符 u , 不然就出错! u (PCRE_UT ...

  5. 关于 jsp java servlet 中文汉字乱码的解决方法

    在servlet类中的get,post最前面加上 req.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding(&quo ...

  6. java html中文汉字 反转义

    import org.apache.commons.lang.StringEscapeUtils; public class EscapeHtml { /** * @param args */ pub ...

  7. PHP正则匹配中文汉字会得到�

    preg_match('/^[a-zA-Z\x{4e00}-\x{9fa5}]+$/u', $str)

  8. (转载)常用正则表达式大全!(例如:匹配中文、匹配html)

    正则匹配java注意点: 如果加 ^[\n]* 表示替换遇到 \n 的前后内容,如果加[\n]表示替换\n本处内容 原文地址:http://blog.csdn.net/dl020840504/arti ...

  9. 常用正则表达式大全!(例如:匹配中文、匹配html)

    一.常见正则表达式 匹配中文字符的正则表达式: [u4e00-u9fa5]    评注:匹配中文还真是个头疼的事,有了这个表达式就好办了  匹配双字节字符(包括汉字在内):[^x00-xff]  评注 ...

随机推荐

  1. Webservice服务中如何保持Session

    问题一:webservice服务中如果保持Session 调用Session 对于Web Service,每个方法的调用都会启动一个Session,可以用下面的方法来使多个调用在同一个Session里 ...

  2. Unix-Linux编程实践 学习点滴

    1.结构体最后定义一个char p[0]有什么作用 2. 3. 4. 1.结构体最后定义一个char p[0] 有什么作用 这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势: ...

  3. 【Android应用开发】 OpenGL ES -- 透视投影 和 正交投影

    博客地址 : http://blog.csdn.net/shulianghan/article/details/46680803 源代码下载 : http://download.csdn.net/de ...

  4. 【Cocos2d-x】 HttpClient 网络通信(Http)的简单应用

    Cocos2dx 为我们封装了在cocos2dx中http的网络框架,其文件在cocos2dx引擎包的extensions\network文件下的 HttpClient.HttpRequest .Ht ...

  5. 在VS2012下不安装VS2010编译VS2010的工程

    虽然一路追随这VISUAL SUTDIO在编程,但是断档的情况还是有的,最近一次硬盘问题使得安装了所有的VS2003-VS2012的机器硬盘挂了,无奈只能够安装了,不过觉得没啥用了,就安装一个VS20 ...

  6. C# 函数覆盖总结学习

    覆盖类成员:通过new关键字修饰虚函数表示覆盖该虚函数.一个虚函数被覆盖后,任何父类变量都不能访问该虚函数的具体实现.public virtual void IntroduceMyself(){... ...

  7. ios开发——面试篇(一)

    面试篇之内存管理与多线程 简述OC中内存管理机制.­­­­­与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为 ...

  8. javascript 实现htmlEncode htmlDecode

    屌屌的写法..function htmlEncode(value){ //create a in-memory div, set it's inner text(which jQuery automa ...

  9. JDK1.6官方下载_JDK6官方下载_JDK1.6API(chm)下载_JDK6APICHM中文参

    JDK1.6官方下载_JDK6官方下载地址:http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin- ...

  10. HBase shell 常用指令

    HBase shell 常用指令 连接HBase $ ./bin/hbase shell 打开帮助 hbase(main):001:0> help 创建表 hbase(main):003:0&g ...