1元字符“?” 与 “()”
?表示紧靠其前的元素项是可选的
eg:abc?能匹配abc和ab
()子匹配
子匹配捕获的内容可在表达式中位于该货号之后的地方被反向引用,第一个圆括号捕获的内容用\1表示,第二个用\2表示。
eg:(\d)\1{4}匹配连续5个相同的数字字符
(\d)(\d)\2\1匹配千位和个位相同的4位数
2(?:pattern)非捕获匹配 不出现pattern
(?=pattern)正向匹配 一定出现后面的pattern
(?!pattern) 反向匹配