Java正则匹配中文的方法实例分析

 更新时间:2017年03月02日 09:57:58   作者:kinkding  
这篇文章主要介绍了Java正则匹配中文的方法,结合实例形式分析了Java针对中文、标点及引号等匹配操作相关技巧,需要的朋友可以参考下

本文实例讲述了Java正则匹配中文的方法。分享给大家供大家参考,具体如下:

1、匹配双引号间内容:

public void test1() {
  // 匹配双引号间内容
  String pstr = "\"([^\"]+)\"";
  Pattern p = Pattern.compile(pstr);
  Matcher m = p.matcher("\"goodjob\"");
  System.out.println(m.find() ? m.group(1) : "nothing");
  // 测试中文
  m = p.matcher("\"goodjob里面有中文呢\"");
  System.out.println(m.find() ? m.group(1) : "nothing");
}

2、中文内容也匹配:

public void test2() {
  // 中文内容也匹配
  String pstr = "\"([^\"|[\u4e00-\u9fa5]]+)\"";
  Pattern p = Pattern.compile(pstr);
  Matcher m = p.matcher("\"goodjob里面有中文呢\"");
  System.out.println(m.find() ? m.group(1) : "nothing");
  // 测试标点
  m = p.matcher("\"goodjob还有标点!\"");
  System.out.println(m.find() ? m.group(1) : "nothing");
}

3、标点也匹配:

public void test3() {
  // 标点也匹配
  Pattern p = Pattern.compile("\"([^\"|[\u4e00-\u9fa5\ufe30-\uffa0]]+)\"");
  Matcher m = p.matcher("\"goodjob还有标点!\"");
  System.out.println(m.find() ? m.group(1) : "nothing");
}

上面三个程序的输出如下:

goodjob
nothing
goodjob里面有中文呢
nothing
goodjob还有标点!

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述对大家java程序设计有所帮助。

相关文章

  • Java单链表的增删改查与面试题详解

    Java单链表的增删改查与面试题详解

    单链表是链表的其中一种基本结构。一个最简单的结点结构如图所示,它是构成单链表的基本结点结构。在结点中数据域用来存储数据元素,指针域用于指向下一个具有相同结构的结点。 因为只有一个指针结点,称为单链表
    2022-09-09
  • springboot项目配置context path失效的问题解决

    springboot项目配置context path失效的问题解决

    本文主要介绍了springboot项目配置context path失效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 图解Eclipse j2ee开发环境的搭建过程

    图解Eclipse j2ee开发环境的搭建过程

    这篇文章以图文结合的方式介绍了Eclipse j2ee开发环境的搭建过程,内容很详细,每一个步骤都有对应的操作截图,需要的朋友可以参考下
    2015-08-08
  • RabbitMQ中的Channel和Exchange详解

    RabbitMQ中的Channel和Exchange详解

    这篇文章主要介绍了RabbitMQ中的Channel和Exchange详解,创建和销毁TCP连接很耗时,打开太多TCP连接,耗操作系统资源,并发量大到一定程度,系统的吞吐量会降低,使用一个connection多channel的方式,可以提升连接的利用率,需要的朋友可以参考下
    2023-08-08
  • 一次排查@CacheEvict注解失效的经历及解决

    一次排查@CacheEvict注解失效的经历及解决

    这篇文章主要介绍了一次排查@CacheEvict注解失效的经历及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot JPA出现错误:No identifier specified for en解决方案

    SpringBoot JPA出现错误:No identifier specified&nb

    这篇文章主要介绍了SpringBoot JPA出现错误:No identifier specified for en解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java 中分形图的几种方法详解

    Java 中分形图的几种方法详解

    这篇文章主要介绍了Java 中几种分形的方法详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • java多线程编程之使用thread类创建线程

    java多线程编程之使用thread类创建线程

    在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例
    2014-01-01
  • MyBatis 动态SQL之where标签的使用

    MyBatis 动态SQL之where标签的使用

    本文主要介绍了MyBatis 动态SQL之where标签,where 标签主要用来简化 SQL 语句中的条件判断,可以自动处理 AND/OR 条件,下面就来具体介绍一下
    2024-01-01
  • Java语言一元运算符实例解析

    Java语言一元运算符实例解析

    这篇文章主要介绍了Java语言中的一元运算符实例解析,需要的朋友可以参考下。
    2017-09-09

最新评论