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

代码如下 复制代码
[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. Host key verification failed解决

    SSH 登录失败:Host key verification failed 由于公钥不一样了,所以无法登录,提示信息是 KEY 验证失败. 解决方法是: 在 /root/.ssh/known_host ...

  2. fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址)

    fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址) 最新的Fedora 21终于正式发布了,Fedora Server 是一款强大可定制化的操作系统,包括了最好最 ...

  3. Mysql,JDBC封装

    1.完成对数据库的表的增删改的操作 2.查询返回单条记录 3.查询返回多行记录 4.可以使用反射机制来封装,查询单条记录 5.反射机制,查询多条记录 package myjdbc; import ja ...

  4. .NET下的延迟加载

    在应用中有很多实例可能需要延迟创建对象, 比如设计模式中的单例模式就是一种非常常见的情况.如果不考虑线程安全我们通常会编写如下代码: public class SingleInstance { pri ...

  5. 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)转载+补充

    错误:Network error: Connection refused 解决办法: 执行 $sudo apt-get install openssh-server 安装ssh协议 执行ifconfi ...

  6. .net简单录音和播放音频文件代码

    本代码特点:不用DirectX ,对于C/S .B/S都适用. 方法: //mciSendStrin.是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等,下面介绍一下它的 ...

  7. C#的WebBrowser操作frame如此简单

    刚学c#不久,也不太懂什么IHTMLDocument.IHTMLDocument2.IWebBrowser2等等.自己琢磨了好久,终于知道了怎么用WebBrowser操作frame和iframe. 1 ...

  8. TCP/IP协议知识科普

    简介 本文主要介绍了工作中常用的TCP/IP对应协议栈相关基础知识,科普文. 本博客所有文章:http://www.cnblogs.com/xuanku/p/index.html TCP/IP网络协议 ...

  9. Python dictionary implementation

    Python dictionary implementation http://www.laurentluce.com/posts/python-dictionary-implementation/ ...

  10. 文本编辑器Nano实用快捷键

    一.复制.剪切和粘贴文本 1.行复制.剪切和粘贴 Alt+6:复制光标所在行. Ctrl+K:剪切光标所在行. Ctrl+U:粘贴. 2.自由复制.剪切和粘贴 自由复制: Ctrl+6:设置复制文本的 ...