Java正则表达式 匹配中文字符[通俗易懂]

Java正则表达式 匹配中文字符[通俗易懂]若要用JAVA正则表达式匹配中文字符,主要是了解中文字符的编码。

大家好,又见面了,我是你们的朋友全栈君。

若要用JAVA正则表达式匹配中文字符,主要是了解中文字符的编码。

匹配中文字符:半角:[\u4e00-\u9fa5] ,全角:[ufe30-uffa0]

匹配中文符号: 。 ;  , : “ ”( ) 、 ? 《 》的对应编码为:”[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]”

英文字母:[a-zA-Z] 
数字:[0-9] 

下面的例子是要匹配出字符串中含有“《中英字符*》”的例子,并输出匹配内容,其中.表示除了行终止符之外的所有字符。

	public static void main(String[] args) {
		String patternStr = "\u300a.+\u300b";
		Pattern pattern = Pattern.compile(patternStr);
		String input = "《21世纪经济报道》记者";
		Matcher matcher = pattern.matcher(input);
		if (matcher.find()) {
			int start = matcher.start();
			int end = matcher.end();
			System.out.println(input.substring(start, end));
		}else{
			System.out.println("not found");
		}
		//output: 《21世纪经济报道》
	}

上例patternStr得到的匹配结果是最长的string。比如若input=”莫言作品《丰乳肥臀》,《红高粱》“, 那么输出的就是”《丰乳肥臀》,《红高粱》“。

若修改patternStr=”\u300a[^\u300a]+\u300b”; 即《》内的字符不能为《。 输出的结果就是《丰乳肥臀》。

当然若有具体的数据特征,可进一步改进pattern string。

最近要做一个中文数据的处理,查了一下蛮有意思的。

参考文献:

http://www.111cn.net/jsp/Java/46105.htm

http://blog.csdn.net/love_5209/article/details/23353907

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150561.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sql注入详解_sq注入教程

    sql注入详解_sq注入教程SQL注入(SQLInjection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。从而导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。即:注入产生的原因是后台服务器接收相关参数未经过滤直接带入数据库查询…

    2022年10月3日
  • 线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法

    线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法注:使用结构CRITICAL_SECTION需加入头文件#include“afxmt.h”定义一个全局的锁CRITICAL_SECTION的实例和一个静态全局变量CRITICAL_SECTION cs;//可以理解为锁定一个资源static int n_

    2022年9月20日
  • php替换字符串中,PHP 替换字符串中的一些字符方法介绍

    php替换字符串中,PHP 替换字符串中的一些字符方法介绍在php中替换字符串我们都会使用到str_replace函数了,此函数还可以使用正则,下面小编来给大家介绍一下替换字符串中的一些字符或替换第一次出现的字符实例。现在有个需求:字符串A与字符串B,字符串B中包含字符串A,利用字符串A将字符串B中的A替换成其他字符串或删除。利用PHP函数,str_ireplace()与str_replace()可以做到。一、str_ireplace(find,r…

    2022年5月10日
  • 在TIM客户端删除被管理员解散的群组会话

    在TIM客户端删除被管理员解散的群组会话编者:李国帅qq:9611153微信lgs9611153时间:2020.6.1背景原因:TIM客户端会保留曾经参与过的会话,即便是会话的对话方,参与的群组已经不存在,会话和消息也不会移除,除非从本地删除。如果不想保留,就需要对TIM的逻辑进行处理。对于群组,如果群组被解散,可以在收到解散通知时,把群组会话移除。如果用户不在线时群组被解散,该如何做呢?想到并验证确实可用的方法:查询当前用户所在群组,删除那些过期的本地群组。背景问题流程:所需资源:Andr.

    2022年5月19日
  • Java 注释

    Java 注释(一)注释的重要性  编写程序的时候,总需要为程序添加一些注释,用以说明某段代码的作用,或者说明某个类的用途,某个方法的工能,以及该方法的的参数和返回值的数据类型以及意义等  程序注释的作用非常大,很多初学者在刚刚学习java程序的时候,会很努力的写程序,不太会注意添加注释。认为添加注释是一种浪费时间,没有意义的事情。经过一段时间的学习,注意到程序书写的不足,需要重构。于是打开源码…

    2022年7月7日
  • idea202112激活码永久(注册激活)[通俗易懂]

    (idea202112激活码永久)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号