文档章节

java连续多位相同字符判断的正则表达式

Yohance
 Yohance
发布于 2014/03/27 15:57
字数 285
阅读 4920
收藏 7

1. ([0-9])\1{5} 或 ([\d])\1{5} 连续相同的6位数字 如:333333

([0-9a-zA-Z])\1{5}   连续相同的6位数字或字母 如:222222 cccccc ZZZZZZ
([\d])\1{2}([a-z])\2{2} 连续相同3位数字后根连续相同的三位小写字母 如:222www
([\d])\1{2}([a-z])\2{2}|([a-z])\3{2}([\d])\4{2} 同上,但是能匹配数字+字母或字母+数字 如:222www 或 www222
这么多的例子自己可以扩展,要注意的就是 \1 \2代表位置,从左到右递增

import java.util.regex.*;

public class demo {
    public static void main (String[] args) {
    Pattern pattern = Pattern.compile("([\\d])\\1{5}");
        Matcher matcher = pattern.matcher("666666");
   System.out.println(matcher.matches()); //true
    }
}

2.判断字符串是否是连续字母或者是连续的数字可以用截取字符串然后比较ascii码的值判断连续的次数

public static void main(String[] args) {
    	 String str = "ab1234567ab";
    	 boolean ll = hasLH(str, 5);
    	 System.out.println(ll);
        
    }
    
	private static boolean hasLH(String str,int count) {
		int pre = 0;
		int len = 1;
		for (int i = 0; i < str.length(); i++) {
			String s = str.substring(i, i + 1);
			char c = s.charAt(0);
			if (i == 0) {
				pre = c;
			}
			if (c - 1 == pre) {
				len++;
				if(len>=count){
					return true;
				}
			}else {
				len = 1;
			}
			pre = c;
		}
		return false;
	}


© 著作权归作者所有

共有 人打赏支持
Yohance
粉丝 14
博文 82
码字总数 44971
作品 0
浦东
程序员
私信 提问
Java 正则表达式功能及应用

正则表达式,就是用某种模式去匹配一类字符串的一个公式,正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,不管是...

浮躁的码农
2015/07/29
0
0
正则表达式Lookaround特性的应用

介绍 Lookaround是Perl 5引进的特性,这个特性极大增强了正则表达式的能力,熟练掌握该特性,可以帮助我们运用正则表达式解决更复杂的问题。Lookaround有4种类型,下面的定义取自Java API :...

mononite
2013/08/16
0
0
关于java中split的使用

之前在http://shukuiyan.iteye.com/blog/507915文中已经叙述过这个问题,但是最近一次笔试中居然有碰到了这个知识点,而且还做错了,囧!学艺不精啊。题目大概是这样的: Java代码 String s...

墨梅
2014/04/28
0
0
Java语言学习(七):字符串的常见使用

Java中字符串的使用很是常见,也是不可避免的,比如:格式化、大小写转换等等,下面就这些常见的使用来说下字符串。 在使用前,必须要理解一点:字符串是不可变的对象,意味着每当调用字符串...

海岸线的曙光
07/16
0
0
Java 正则表达式 StackOverflowError 问题及其优化

正则可以看做一门 DSL,但它却应用极其广泛,可以轻松解决很多场景下的字符串匹配、筛选问题。同时呢有句老话: “ 如果你有一个问题,用正则表达式解决,那么你现在就有两个问题了。” Some...

大数据之路
2015/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
3
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
8
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
3
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
5
0
RxJava threading

因为Rx针对异步系统设计,并且Rx也自然支持多线程,所以新的Rx开发人员有时会假设Rx默认是多线程的。在其他任何事情之前,重要的是澄清Rx默认是单线程的。 除非另有说明,否则每次调用onNex...

woshixin
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部