Regex 是 Regular Expression(正则表达式)的缩写,它用于定义字符串的模式。我们主要利用它来查找文本或编辑文本。Java 的正则表达式类位于 java.util.regex 包中,在使用这些类的方法之前,我们需要先将其导入。
java.util.regex 包主要包含以下 3 个类:
- Pattern(模式类)
- Matcher(匹配器类)
- PatternSyntaxException(模式语法异常类)
!Regex in Javaregex 包中的类
元字符就像是常见匹配模式的“快捷代码”。
描述
—
任何数字,相当于 [0-9] 的简写
任何非数字字符,相当于 [^0-9] 的简写
任何空白字符,相当于 [\t
\x0B\f\r] 的简写 |
任何非空白字符
任何单词字符,相当于 [a-zA-Z_0-9] 的简写
任何非单词字符
代表单词边界
代表非单词边界### 元字符的使用
- 在元字符前面加上反斜杠 (\) 即可使用。
元字符详解
#### 1. 数字与非数字相关元字符:\d, \D
Java
CODEBLOCK_4520d000
输出结果
true
false
true
false
解释
- d 元字符代表 0 到 9 之间的数字。因此,当我们将其与范围内的“d”进行比较时,它会返回 true。否则返回 false。
- D 元字符代表非数字,它接受除数字以外的任何字符。因此,当我们用 任何数字 来比较“D”时,它会 返回 false。否则返回 true。
#### 2. 空白与非空白元字符:\s, \S
Java
CODEBLOCK_a9eb3019
输出结果
true
false
true
false
解释
- s 代表空白字符,如空格、制表符、换行符等。因此,当我们用 空白字符 比较“s”时,它返回 true。否则返回 false。
- S 代表非空白字符,它接受除空白字符以外的所有内容。因此,当我们用 空白字符 比较“S”时,它返回 false。否则返回 true。
#### 3. 单词与非单词元字符:\w, \W
Java
CODEBLOCK_3bc304c9
输出结果
true
true
false
false
true
true
解释
- w 代表单词字符,它接受字母(大写和小写)和数字 [0-9]。因此,当我们用字母或数字比较“w”时,返回 true。否则返回 false。
- W 代表非单词字符,它接受除字母和数字以外的任何字符。因此,当我们用字母或数字比较“W”时,返回 false。否则返回 true。
#### 4. 单词与非单词边界元字符:\b, \B
Java
CODEBLOCK_0fec4b2a