Pattern
CASE_INSENSITIVE
忽略大小写 MULTILINE
多行模式 DOTALL
dotAll 模式 UNICODE_CASE
unicode模式
compile(regex)
使用正则构建 Pattern对象 compile(regex, flags)
flags : 设置修饰符,多个修饰符用 | 分割 matcher(str)
返回Matcher对象
Matcher
matches()
返回是否匹配、适用于匹配一次的判断
find() 是否有找到匹配的元素、常用于 while 循环、可匹配字符串多个元素 group() / group(0)
获取正则表达式匹配的内容 group(n)
获取第 n 个正则子表达式匹配的内容 start() / end()
获取匹配内容的 起始/结束 索引 appendReplacement(StringBuilder, replacement)
追加替换后的内容到 StringBuilder容器中 appendTail(StringBuilder)
将字符串尾部内容追加到 StringBuilder容器中
PS:
JDK9 支持 StringBuilder 低版本传入 StringBuffer,可用于处理字符串模板、例如SQL替换
Pattern p = Pattern . compile ( "cat" ) ;
Matcher m = p. matcher ( "one cat two cats in the yard" ) ;
StringBuilder sb = new StringBuilder ( ) ;
while ( m. find ( ) ) {
m. appendReplacement ( sb, “dog”) ;
}
m. appendTail ( sb) ;
字符串支持正则的方法
matches(regex) replaceAll(regex, replacement) replaceFirst(regex, replacement) split(regex, limit=0)