Java正则表达式实战:匹配各类文本

需积分: 7 0 下载量 14 浏览量 更新于2024-09-16 收藏 39KB DOC 举报
"这份Java文档详细介绍了正则表达式的使用,包括各种匹配规则和实际应用案例,如手机号码验证、整数检验、空白符检查以及电子邮件地址的合法性验证等。" 在Java中,正则表达式是一种强大的文本处理工具,用于模式匹配和字符串搜索。它允许程序员使用简洁的语法来描述复杂的字符串模式。以下是一些关键知识点: 1. **正则表达式编译与匹配**: - `Pattern.compile(reg)`:这个方法用于将正则表达式`reg`编译成一个`Pattern`对象,这个对象可以被多次使用,提高性能。 - `Matcher matcher = pattern.matcher(string)`:创建一个`Matcher`对象,它将`Pattern`应用于输入字符串`string`。 - `matcher.matches()`:检查整个输入字符串是否能与正则表达式完全匹配。 2. **方法`startCheck`**: - 这个方法接受一个正则表达式和一个字符串作为参数,通过`Pattern`和`Matcher`进行匹配,并返回匹配结果。如果整个字符串与正则表达式匹配,则返回`true`,否则返回`false`。 3. **正则表达式实例**: - `checkNr`方法用于验证整数,正则表达式`"^(-?)[1-9]+\\d*|0"`确保了整数的正确格式,包括正整数、负整数和0,但不允许以0开头的正整数和以-0开头的负整数。 - `checkCellPhone`方法验证手机号码,正则表达式`"^[1][\\d]{10}"`确保手机号码是11位数字且以1开头。 - `checkWhiteLine`方法检查空白符,正则表达式`"(\\s|\\t|\\r)+"`匹配一个或多个空格、制表符或回车符。 - `checkEmailWithSuffix`方法验证电子邮件地址,正则表达式`\\w+\\@\\w+\\.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn)`确保电子邮件地址包含至少一个用户名、一个@符号、一个域名,并且域名必须是给定的后缀之一。 4. **正则表达式语法**: - `^`:表示匹配输入字符串的开始位置。 - `$`:表示匹配输入字符串的结束位置。 - `[]`:字符集,匹配括号内的任意一个字符。 - `-`:在字符集中表示范围,如`[1-9]`匹配所有1到9的数字。 - `\\d`:代表数字,等价于`[0-9]`。 - `\\w`:匹配字母、数字或下划线,等价于`[a-zA-Z0-9_]`。 - `+`:匹配前面的字符一次或多次。 - `*`:匹配前面的字符零次或多次。 - `|`:表示或操作,匹配前后两个表达式中的任意一个。 - `\\.`:匹配任意单个非换行符的字符,需转义。 这些知识点展示了如何在Java中使用正则表达式进行字符串验证,以及如何构建正则表达式来满足特定的匹配需求。对于任何处理文本输入的Java程序,理解和熟练使用正则表达式都是至关重要的。