1. ? 匹配前面字符中的 0 个或 1 个字符
    2. * 匹配前面字符零个或多个字符
    3. + 匹配前面字符的一个或者多个
    4. ^ 为匹配输入字符串的开始位置。
    5. $ 为匹配输入字符串的结束位置
    6. [0-9]+匹配多个数字
      [0-9] 匹配单个数字
    7. / \u4e00-u9fa5 /
    8. Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
    9. 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
    10. 15位身份证号:^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$
    11. 18位身份证号:^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$
    12. 日期格式:^\d{4}-\d{1,2}-\d{1,2}
    13. ^\s|\s$或(^\s)|(\s$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)
    14. 圆括号()是组,主要应用在限制多选结构的范围/分组/捕获文本/环视/特殊模式处理
    15. 方括号[]是单个匹配 字符集/排除字符集/命名字符集
    16. () 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串
    17. (\s*)表示连续空格的字符串
    18. {}一般是用来匹配的长度。比如\s{3}表示匹配三个空格,\s[1,3]表示匹配1到3个空格
    19. (abc)? 表示这一组要么一起出现,要么不出现,出现那则按顺序出现
    20. 例如(ab){1,3},就表示ab一起连续出现最少1次,最多三次