Java正则表达式基础与实例解析

需积分: 9 1 下载量 148 浏览量 更新于2024-09-22 收藏 75KB DOC 举报
Java正则表达式是一种强大的文本处理工具,用于在Java编程中实现字符串模式匹配和搜索。以下是对Java正则表达式的关键概念和用法的详细解释: 1. **英文句点符号**:在Java正则表达式中,`.`(中文句号)用于匹配单个任意字符,例如表达式 "t." 可以匹配 "tno"、"t#o"、"teo" 等,但不包括 "tnno"、"to"、"Tno" 或 "t正o"。 2. **方括号**:`[]` 包含一组字符,仅匹配括号内的任一字符。例如,表达式 "t[abcd]n" 只能匹配 "tan"、"tbn"、"tcn" 和 "tdn",排除 "thn"、"tabn" 和 "tn"。 3. **竖线 `|`**:用于"或"逻辑,如 "t(a|b|c|dd)n" 只匹配 "tan"、"tbn"、"tcn" 和 "tddn",排除 "taan"、"tn" 和 "tabcn"。 4. **重复次数**:`{n}` 表示至少出现n次,`{n,}` 表示至少n次到无限次。如 `[0-9]{3}\- [0-9]{2}\- [0-9]{3}`,匹配三位数字、破折号、两位数字和三位数字的组合,注意破折号需转义`\-`。 5. **否定符号`^`**:用在方括号内表示排除特定字符,如 `[^x]` 表示第一个字符不能是 'x'。 6. **圆括号和空白字符**:`\s` 表示空白字符,仅匹配空格、制表符、换行符等;圆括号 `( )` 是分组,用于捕获子表达式的匹配结果,并可用于后续操作。 7. **快捷符号**:`\d` 对应 `[0-9]`,`\D` 对应 `[^0-9]`,`\w` 对应 `[0-9A-Za-z_]`,`\W` 对应 `[^0-9A-Za-z_]`,`\s` 对应`\t\n\r\f`,`\S` 对应 `[^\t\n\r\f]`。 8. **常用正则表达式示例**: - Java:`([a-z]|_)(\\w*){6,20}` 匹配长度在6到20个字符之间,以字母或下划线开头并以字母数字下划线结尾的字符串。 - JavaScript:`/^(\-?)(\d+)$` 匹配数字,`/^\w+$` 匹配字母数字下划线。 9. **Java中的使用示例**: - `Pattern p = Pattern.compile("t.n");` 创建模式对象,用于编译正则表达式。 - `Matcher m = p.matcher("ton");` 创建匹配器,用于在给定字符串中查找匹配。 - `if (m.matches()) { return true; }` 检查字符串是否完全匹配正则表达式。 - `boolean bool = Pattern.matches("t.n", "ton");` 使用`matches()`方法检查整个字符串是否符合正则。 掌握这些基础概念和用法,将有助于你在Java编程中更高效地处理字符串匹配和验证任务。