`
Sharpleo
  • 浏览: 575346 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

java 正则表达处理中文【转】

    博客分类:
  • java
 
阅读更多
Java的正则表达式如何匹配中文字符呢?



下面给出例子让我们匹配所有的中文字符:



Java代码
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)); 
       } 
}

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));
        }
}

输出如下:



Html代码
5 星级酒店

5 星级酒店



注解:匹配所有中文字符正则表达式如下:



Java代码
[\u4E00-\u9FA5]汉字﹐[\uFE30-\uFFA0]全角字符

[\u4E00-\u9FA5]汉字﹐[\uFE30-\uFFA0]全角字符

所以说,Java的正则表达式是可以匹配中文字符的,同时,用中文字符来写表达式也是可以的.比如说上面的要匹配下面的字符:



Html代码
5 星级酒店

5 星级酒店

上面例子中的中文正则表达式还可以写成如下的形式:





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]*\'";   

分享到:
评论

相关推荐

    正则表达式傻瓜式宝典

    "正则表达式傻瓜式宝典"是一本专门介绍这一主题的中文教程,旨在帮助初学者快速理解和掌握正则表达式的使用。 该书可能涵盖了以下主要知识点: 1. **基础概念**:首先,书中会介绍正则表达式的起源和基本构成元素...

    正则表达式

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分析字符串。它通过预定义的特定字符、字符组合来定义一套规则,这套规则可以应用于各种编程语言中,如JavaScript、PHP、Java等,虽然它本身独立于任何...

    精通正则表达式(第三版)简体中文.pdf

    在简体中文版中,作者以清晰易懂的语言将复杂的正则表达式概念进行了本地化翻译,使中国读者能够更好地理解和掌握这一强大的文本处理工具。 正则表达式,简称regex,是一种模式匹配语言,广泛应用于文本搜索、替换...

    遨游在正则表达式的海洋

    正则表达式是一种强大的文本处理工具,能够帮助我们实现对字符串的搜索、替换等操作。它在多种编程语言和环境中都有广泛的应用,如*nix系统(Linux、Unix等)、Windows,以及PHP、C#、Java等开发环境。掌握正则...

    很齐全的正则表达式

    正则表达式是一种强大的文本处理工具,能够帮助我们实现对字符串的快速搜索、替换等操作。无论是编程还是日常工作中,掌握正则表达式的使用都十分必要。 **1.1 基本字符** - **`x`**:匹配字符`x`本身。 - **`\`**...

    精通正则表达式(第三版) 中文版

    《精通正则表达式(第三版)》中文版是一本深度解析正则表达式的权威书籍,作者Jeffrey E. F. Friedl是正则表达式领域的专家。这本书旨在帮助读者全面理解和掌握正则表达式的使用,无论是对于初学者还是经验丰富的...

    深入浅出之正则表达式

    除此之外,还提到了.NET正则库以及Java JDK中的正则表达式包,它们虽然与Perl5相似,但在细节上有所差异。 - **文字符号**:正则表达式的基本单位是文字符号。例如,“cat”会匹配“About cats and dogs”中的“cat...

    中文数字转换阿拉伯数字.rar

    综上所述,中文数字转换至阿拉伯数字涉及到语言学、计算逻辑以及编程技术等多个方面,是信息技术处理中文数据时的一项基础任务。通过理解转换规则和运用合适的编程手段,我们可以有效地解决这类问题。

    Java机试相关题目34题

    25. 汉字金额转换:将数字金额转换成汉字大写金额,需要遵循中文的金额表达规则。 26. 获取星期二日期:本题要求找出一年中所有星期二的日期,需要使用日历类进行日期计算。 27. 二叉树遍历与排序:本题要求使用...

    正则表达式匹配任意字符(包括换行符)的写法

    在处理中文或其他非英文字符时,可以使用正则表达式/[-~]/来匹配所有非英文字符。这个表达式中的“-”表示一个范围,从“-”左边的字符开始到“-”右边的字符结束。具体到这个例子,它意味着从“-”到“~”之间的...

    shell 正则表达式详细整理

    7. 匹配中文字符和其他双字节字符的正则表达式:这对于处理多语言文本特别有用。 8. 匹配特定格式的字符串,如HTML标签、空行以及QQ号码等。 在正则表达式中,元字符具有特殊意义。例如,“^”和“$”分别用于匹配...

    检验字符串是否包含简体字(针对繁体字和简体字不同的情况)

    本主题聚焦于“检验字符串是否包含简体字”,这是一个常见的需求,特别是在处理中文文本时,尤其是当文本中可能混杂了简体字和繁体字时。下面将详细解释这个知识点,并提供相应的解决方案。 首先,我们要理解简体字...

    java判断中文字符串长度的简单实例

    在进行编程实践时,判断字符串的长度是一个常见需求。...读者通过阅读这些实例,可以更好地理解Java中字符串操作的细节,尤其是在处理中文字符时需要注意的问题,从而在自己的编程实践中加以应用。

    java开发学习各种api文档教材

    `jQuery正则表达.chm`可能是关于jQuery中正则表达式应用的指南,可以帮助开发者更高效地处理字符串和数据验证。 3. **Bootstrap API**:Bootstrap是一款流行的前端开发框架,用于快速构建响应式和移动优先的网页。`...

    groovy in action 中文版 2017.11

    Groovy是一种运行在Java虚拟机上的敏捷开发语言,它提供了与Java无缝集成的能力,同时为开发者带来更加简洁和富有表达性的语法。Groovy提供了大量的动态特性,比如动态类型、闭包、元编程能力等,使得编写脚本或应用...

Global site tag (gtag.js) - Google Analytics