1. 常用符号
- “^” 是正则表达式匹配字符串开始位置
- “$” 是正则表达式匹配字符串结束位置
- “.” 能够表示任意字符的通配符
- “*” 闭包,将模式和自身连接任意多次(包括零次)
例: AB* 一个A和0个或多个B字符串组成
- “.*” 匹配所有字符串
2. # (.*)和(.*?) #
- 当正则表达式中包含重复量词(如:*,?,+)时,通常的行为是匹配尽可能多的字符,比如:a(.*)b去匹配aabab字符串,它会 匹配整个字符串,这被称为贪婪匹配。
- 有的时候我们需要懒惰匹配,也就是匹配尽可能少的字符,在量词后边加一个问号?, 比如(.*?)在能使整个匹配成功的前提下使用最少的重复。
3.正则表达式的() [] {} 有着不同的意思
- () 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串
- [] 表示一个集合 例:[0-9] 0~9 其中任意一个数
- {} 用写在“{}”里的数或者范围来指定重复的次数 例: [0-9]{4} 指4位数
4.$1,$2是表示的小括号里的内容
$1是第一个小括号里的 ,$2是第2个小括号里的。
例: replaceAll("[0-9]{4}(.*)[0-9]{2}(.*)",yearNow+"$1"+monthNow+"$2"))。