关于 Java 中的正则表达式匹配
最编程
2024-07-16 20:12:39
...
注意:
在网站复制正则表达式使用的时候,要将第一个'/'跟最后一个'/'替换称为括号
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:
Pattern:Pattern是一个正则表达式经编译后的表现模式
Matcher:Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查
public static void main(String[] args) { /*定义要进行验证的手机号码*/ String cellPhoneNumber = "15817784252"; /*定义手机号码正则*/ String phoneRegex = "(^(?:(?:\\+|00)86)?1(?:(?:3[\\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\\d])|(?:9[189]))\\d{8}$)"; /* 第一种:使用String类 说明此字符串是否与给定的正则表达式匹配。 参数: regex–此字符串要与之匹配的正则表达式 返回值: 当且仅当此字符串与给定正则表达式匹配时为true */ boolean stringMatches = cellPhoneNumber.matches(phoneRegex); System.out.println("使用String类进行比较结果:" + stringMatches); /*第二种:使用Pattern * 将给定的正则表达式编译为模式。 * 参数: regex–要编译的表达式 * 返回值: 已编译为模式的给定正则表达式 * */ Pattern pattern = Pattern.compile(phoneRegex); /*创建一个匹配器,该匹配器将根据此模式匹配给定的输入。 参数: 输入–要匹配的字符序列*/ Matcher matcher = pattern.matcher(cellPhoneNumber); /*字符串是否与正则表达式相匹配*/ boolean patternMatches = matcher.matches(); System.out.println("使用Pattern类的matcher进行比较结果:" + patternMatches); /*第三种:使用Pattern的两个参数构造器 * 参数1: 正则表达式 * 参数2: 要匹配的字符序列 * 返回值: 正则表达式是否与输入匹 * */ boolean constructorMatches = Pattern.matches(phoneRegex, cellPhoneNumber); System.out.println("使用Pattern类的matcher重载进行比较结果" + constructorMatches); }
上一篇: 史上最完整的正则表达式 - 匹配中文、英文、字母和数字
下一篇: 常见正则表达式汇总 [一
推荐阅读
-
Java 项目实践 II 基于 Java + Spring Boot + MySQL 的匹配网站设计与实施(源代码 + 数据库 + 文档)
-
在 ts 中实现类 java hashmap 的简单方法
-
Java Spring 中的 @Autowired、@Resource、@Qualifier 和 @Inject 注解:使用细节和注意事项
-
Java HashMap 的数据结构和基本原理及其在 Jdk8、Jdk11 和 Jdk17 中的一些变化,以及一些常见问题。
-
深入了解 Java 中的 ThreadLocal 机制,了解其工作原理、优缺点分析、数据库连接管理的应用、使用注意事项
-
深入分析 Spring AI 框架:Java 应用程序中智能交互的关键
-
Java_EE]Day04 MyBatis 中的关联映射和缓存机制
-
Java 中的多级循环控制,包括金字塔和 9-9 乘法表打印
-
java: pdfbox 3.0 从扫描的 PDF 文件中移除文本水印
-
Java 中的异常和错误:深入了解异常处理