1. 正则表达式概述
正则表达式(Regular Expression,简称 Regex)是一种用于匹配字符串的模式工具。在 Java 中,正则表达式通过 java.util.regex
包实现,主要涉及以下两个类:
Pattern
:表示一个编译好的正则表达式模式。Matcher
:用于在字符串中查找与模式匹配的内容。
正则表达式可以用来验证格式、提取信息或替换文本,例如检查邮箱地址是否合法、提取字符串中的数字、按规则分割字符串等。
2. 正则表达式符号速查表
以下是正则表达式的常用符号和元字符(以正则表达式的原始形式列出)。在 Java 代码中,符号如 \d
需要写成 \\d
,因为 Java 字符串需要转义反斜杠。
2.1 基本字符和元字符
符号 | 含义 | 示例 | 不匹配示例 |
---|---|---|---|
\d | 匹配一个数字(0-9) | 5 | a |
\D | 匹配一个非数字 | a | 5 |
\w | 匹配字母、数字或下划线 | a 、3 或 _ | ! |
\W | 匹配非字母、数字或下划线 | ! 或 @ | a |
\s | 匹配一个空白字符(如空格、制表符、换行符) | 或 \n | a |
\S | 匹配一个非空白字符 | a 或 1 | 空白字符 |
. | 匹配任意字符(除换行符外) | a 或 1 或 . | \n |
2.2 字符集合
字符集合用方括号 []
表示,用于匹配单个字符。以下是详细说明:
符号 | 含义 | 示例 | 不匹配示例 |
---|---|---|---|
[abc] | 匹配单个字符,且该字符是 a 、b 或 c | a 、b 或 c | ab (多字符)、d |
[^abc] | 匹配单个字符,且该字符不是 a 、b 或 c | d 或 1 | a 、b 或 c |
[a-z] | 匹配单个小写字母(a 到 z) | b </ |