正则表达式匹配连续相同字符

编程教程 > Java (4031) 2025-01-27 10:11:30

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

评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Java正则表达式基础使用及常见正则符号说明,Java正则使用基础参考代码:package org.xqlee.utils.regular;import jav
常用正则表达式正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。用户名:/^[a-z0-9_-]{3,16}$/密
正则表达式忽略大小写js中使用正则表达式来校验文件格式例如,匹配以下格式支持:doc,docx,xls,xlsx,ppt,pptx,pdf,jpg,jpeg,p
正则表达式验证邮箱也可以不填写内容,就是可选项邮箱验证得正则表达式为@Pattern(regexp = "^$|^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]...
Java正则表达式多行(换行)匹配说明,默认情况下Java正则表达式匹配内容必须是一行得,如果匹配得内容区间存在换行就无法匹配,需要通过一个配置来搞定。Java正则表达式默认匹配内容中含多行示例...
java编程中正则表达式'并且'的写法,详细讲解在Java编程语言中正则表达式并且的写法以及Java语言与其他语言写正则有啥区别。
问题描述在使用正则表达式匹配空格字符得时候发现总是匹配失败,后面仔细研究发现空格中包含中文得空格,导致\s无法匹配
hibernate validator 正则表达式报错HV000030: No validator could be found for constraint 'javax.validation...
Java正则表达式appendReplacement和appendTail替换HTML标签属性值演示HTML数据&lt;!DOCTYPE html&gtl; &lt;html lang="en...
1. ([0-9])\1{5} 或 ([\d])\1{5} 连续相同的6位数字 如:333333([0-9a-zA-Z])\1{5} 连续相同的6位数字或字母
JavaScript正则加上/去掉cdn域名前缀,文本支持&lt;script&gtl;let $domain="https://static-project.example
notepad++ 正则批量替换某些内容(替换内容包含换行的情况)查找内容参考: &lt;div class="tabler-icon"&gtl; &lt;i class="ti
在Java的字符串替换中,最近遇到一个问题,就是替换的目标字符串中包含了正则表达式的符号,导致报错。错误示例:public class PatternTest { public sta...
String regex="\\[us\\](?s)((?!\\[/us\\]).)*\\[/us\\]";匹配: [us][/us]之间的所有内容解释:(?s)  匹配忽略\r \n等换行符阻...
在js编程中,也会遇到替换字符串对象中某个字符。这时候就需要使用js内置函数replace了。可以替换一个也可以替换多个,支持正则表达式匹配比较灵活