博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Regular—组】举个 组 应用的小例子。
阅读量:6480 次
发布时间:2019-06-23

本文共 892 字,大约阅读时间需要 2 分钟。

hot3.png

第一步:show code

package com.test.generic;public class RegoxDemo2 {	/**	 * 正则表达式对字符的常见操作。	 * 1.匹配	 * 			其实是String类中的metches方法	 * 2.切割	 * 			其实就是String类中的split方法。	 * 3.替换	 * 4.获取	 */	public static void main(String[] args) {				functionDemo_2();	}		/**	 * 切割.	 */	public static void functionDemo_2(){		String str = "zhangsanttttxiaoqiangmmmmmmzhaoliu";		String [] names = str.split("(.)\\1+"); // 以 “ ”(空格)为切割标识符,+号表示空格出现一次或者多次		for (String name : names){			System.out.println(name);		}	}}

控制台输出 : 

zhangsanxiaoqiangzhaoliu

二: 效果如上所示,长字符串 

"zhangsanttttxiaoqiangmmmmmmzhaoliu"

中的 ttttt mmmmmm都被除去,真乃字符串切割的利器啊---

三、其实主要是这句代码: 

String [] names = str.split("(.)\\1+");

 . 代表匹配除换行符 \n之外的任何单字符

(.) 代表一个表达式,或者说一个组,相当于java里面的一个函数。 \1代表后向引用(\\1代表),表示表达式中,从左往右数,第一个左括号对应的括号内的内容。\\1 在第二个位置上出现,表示第二个位置上的字符和第一个字符一样。+号代表出现一次或多次、PS:可能我对Regular理解不到位,所以描述不详细,还恳求各位指正。

转载于:https://my.oschina.net/u/2448283/blog/665478

你可能感兴趣的文章
OCA读书笔记(3) - 使用DBCA创建Oracle数据库
查看>>
Python基础进阶之路(一)之运算符和输入输出
查看>>
阻塞非阻塞异步同步 io的关系
查看>>
ClickStat业务
查看>>
spring3.0.7中各个jar包的作用总结
查看>>
Windows 10 /win10 上使用GIT慢的问题,或者命令行反应慢的问题
查看>>
Windows平台分布式架构实践 - 负载均衡
查看>>
iOS自定制tabbar与系统的tabbar冲突,造成第一次点击各个item图片更换选中,第二次选中部分item图片不改变...
查看>>
我的路上
查看>>
DB2与oracle有什么区别
查看>>
创建一个多级文件目录
查看>>
Picasa生成图片幻灯片页面图文教程
查看>>
svn status 显示 ~xx
查看>>
常用HiveQL总结
查看>>
[转]使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger
查看>>
POJ 3311 Hie with the Pie(状压DP + Floyd)
查看>>
Security updates and resources
查看>>
DNS为什么通常都会设置为14.114.114.114
查看>>
Sqoop架构(四)
查看>>
golang copy函数
查看>>