正则表达式 判断 连号如“123456”、同号如“888888”、连同号如“112233”“222333”
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regu {
public static void main(String[] args) {
//匹配6位顺增
String pattern = "(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}\\d";
Pattern pa = Pattern.compile(pattern);
String mc = "123456";
Matcher ma = pa.matcher(mc);
System.out.println("6位顺增 :" + ma.matches());
System.out.println("*******分割线*******");
//匹配6位顺降
pattern = "(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5}\\d";
pa = Pattern.compile(pattern);
mc = "654321";
ma = pa.matcher(mc);
System.out.println("6位顺降 :" + ma.matches());
System.out.println("*******分割线*******");
//匹配6位顺增或顺降
pattern = "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5})\\d";
pa = Pattern.compile(pattern);
mc = "234567";
ma = pa.matcher(mc);
System.out.println("6位顺增或顺降 :" + ma.matches());
System.out.println("*******分割线*******");
//匹配4-9位连续的数字
pattern = "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3,}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){3,})\\d";
pa = Pattern.compile(pattern);
mc = "123456789";
ma = pa.matcher(mc);
System.out.println("4-9位连续的数字 :" + ma.matches());
System.out.println("*******分割线*******");
//匹配3位以上的重复数字
pattern = "([\\d])\\1{2,}";
pa = Pattern.compile(pattern);
mc = "888888";
ma = pa.matcher(mc);
System.out.println("3位以上的重复数字 :" + ma.matches());
System.out.println("*******分割线*******");
//匹配手机号码类
pattern = "(13[0-9]|15[0-9]|18[0-9])([\\d]{2,4}){2}";
pa = Pattern.compile(pattern);
mc = "18930333033";
ma = pa.matcher(mc);
System.out.println("手机号码 :" + ma.matches());
System.out.println("*******分割线*******");
// //匹配连同号如“112233”“222333”
// pattern = "([\\d])\1{1,}([\\d])\\2{2,}"; //这个测试没有通过,要重新编写
// pa = Pattern.compile(pattern);
// mc = "33111";
// ma = pa.matcher(mc);
// System.out.println("连同号如112233 , 222333 :" + ma.matches());
System.out.println("*******分割线*******");
//匹配2233类型
pattern = "([\\d])\\1{1,}([\\d])\\2{1,}";
pa = Pattern.compile(pattern);
mc = "2233";
ma = pa.matcher(mc);
System.out.println("2233类型 :" + ma.matches());
System.out.println("*******分割线*******");
}
}
参考 http://www.williamlong.info/archives/1972.html 这个朋友的博文,谢谢!
分享到:
相关推荐
正则表达式(Regular Expression)是一种强大的工具,用于在字符串中匹配特定模式,它在这里被用来判断用户设定的密码是否符合一定的强度标准。以下是对这个话题的详细解释。 首先,密码强度通常涉及到以下几个方面...
java使用正则表达式判断手机号的方法示例文章主要介绍了java使用正则表达式判断手机号的方法,分析了手机号码段的原理及java使用正则表达式针对手机号的匹配操作实现技巧。下面是文章中提到的知识点: 1. 手机号码...
在Java中使用正则表达式来判断字符串是否符合整数、小数或实数的格式是一种常见且有效的做法。在编程中,我们经常需要对输入的字符串进行格式验证,以确保它们符合预期的数值格式,尤其是在处理财务数据、用户输入...
标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...
C# 正则表达式大全 正则表达式是指用来描述字符串模式的表达式,通过使用正则表达式,我们可以轻松地实现字符串的匹配、验证、提取和替换等操作。在 C# 中,我们可以使用 System.Text.RegularExpressions 命名空间...
在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...
### 正则表达式在数据库查询中的应用 #### 引言 在数据库管理与应用程序开发中,查询数据是一项常见的任务。传统的SQL查询虽然强大,但在处理复杂查询时可能存在一定的局限性,尤其是涉及到文本数据的模式匹配时。...
在标准C++库中,虽然没有内置的正则表达式支持,但通过包含如 Boost 或 TR1(Technical Report 1)扩展,或者在较新的C++11及更高版本中使用库,开发者可以实现正则表达式功能。然而,对于MFC开发者来说,使用MFC内...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...
在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...
总的来说,"C#实现正则表达式判断"项目不仅涉及到正则表达式的使用,还可能涵盖良好的代码组织和设计原则,以及与其他技术(如XML操作)的结合。学习和掌握这些知识点,能帮助开发者更高效地处理文本数据,提升程序...
正则式,全称为“正则表达式”,是编程领域中一种强大的文本处理工具,用于匹配、查找、替换和分析字符串。它通过一系列特定的字符和语法构建模式,可以高效地处理各种复杂的文本匹配任务。在软件开发、数据处理、...
在C#中利用正则表达式判断用户输入是否是数字 在C#中,判断用户输入是否是数字是一个非常常见的问题。通常,我们可以使用TryParse方法来判断输入是否是数字,但是这种方法有其局限性。例如,TryParse方法无法判断...
"正则表达式必知必会" 正则表达式是一种强大的文本处理工具,广泛应用于各个领域。下面是对正则表达式的详细解释: 正则表达式的用途 正则表达式主要用于处理文本,提供了两大主要功能:查找和替换。查找功能允许...
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分析字符串。它通过预定义的模式来识别和操作字符串中的数据。以下是一些常见的正则表达式及其用途: 1. 匹配中文字符:`[u4e00-u9fa5]` - 这个正则...
Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...
本项目涉及的是一个使用汇编语言编写的正则表达式判断程序,这在编程世界中是一个独特的实现,因为正则表达式通常是用高级语言如C、Python或JavaScript等编写的。 正则表达式(Regular Expression,简称regex)是一...
在探讨如何利用正则表达式来判断一个字符串除指定字符外不包含其他特殊字符之前,我们首先需要了解正则表达式的基本概念以及本场景中的具体需求。 ### 正则表达式简介 正则表达式是一种强大的文本处理工具,能够...
以上给出的正则表达式仅覆盖了一些基础用例,实际的正则表达式可以变得极其复杂,涉及更多的元字符和修饰符,如贪婪与非贪婪匹配、分组、零宽断言等。正则表达式的学习和掌握需要时间和实践,但一旦熟悉,它们将成为...