20230626 java.util.regex.Pattern
介绍
- java.util.regex.Pattern
- public final class Pattern implements java.io.Serializable
- 正则表达式的编译表示
API
常量
flag
- UNIX_LINES
- 启用 UNIX 行模式
- 在多行模式中匹配
^
和$
时,只有\n
被识别成行终止符
- CASE_INSENSITIVE
- 不区分大小写
- 匹配字符时忽略字母的大小写,默认情况下,这个标志只考虑 US ASCII 字符
- COMMENTS
- 注释模式
- 空白字符和注释(从
#
到行末尾)将被忽略
- MULTILINE
- 多行模式
^
和$
匹配行的开头和结尾,而不是整个输入的开头和结尾
- LITERAL
- 字面值模式
- 该模式将被逐字地采纳,必须精确匹配,因字母大小写而造成的差异除外
- DOTALL
- 点号模式
- 当使用这个标志时,
.
符号匹配所有字符,包括行终止符
- UNICODE_CASE
- 启用Unicode区域设置感知的区分大小写
- 选择 Unicode 字符类代替 POSIX ,其中蕴含了
UNICODE_CASE
- CANON_EQ
- 正则表达式使用Unicode规范等价形式
- 考虑 Unicode 字符规范的等价性,例如,
u
后面跟随¨
(分音符号)匹配ü
- UNICODE_CHARACTER_CLASS
- 启用Unicode字符类
- 当与
CASE_INSENSITIVE
组合使用时,用 Unicode 字母的大小写来匹配
static
- compile
Pattern compile(String regex)
Pattern compile(String regex, int flags)
- 把正则表达式字符串编译到一个用于快速处理匹配的模式对象中
- flags 使用在 Pattern 类中定义的常量,如果需要多个,通过 | 计算后传入,例如
Pattern.CASE_INSENSITIVE | Pattern.DOTALL
- flags 默认是 0 ,不启用任何 flag
- matches
boolean matches(String regex, CharSequence input)
- quote
String quote(String s)
public
-
pattern
- 对应 regex
-
flags
-
matcher
- 返回 matcher 对象,你可以用它在输入中定位模式的匹配
-
split, splitAsStream
- 将输入分割成标记,其中模式指定了分隔符的形式
- 返回标记数组,分隔符并非标记的一部分
-
asPredicate
Predicate<String> asPredicate()
- 使用
Matcher.find
判断
-
asMatchPredicate
Predicate<String> asMatchPredicate()
- 使用
Matcher.matches
判断