正则表达式
/*
* 正则表达式:按照一定的规则组成的一个表达式,作用主要来匹配字符串
* 表达式组成:由元字符或者限定符组成的一个式子
*
* 元字符:
* . 表示的是:除了\n以外的的任意一个字符 例:"aa12"这个字符串中有任意一个自负就匹配成功了
* []表示的是:范围
* [0-9]表示的是0-9之间任意一个数
* [159]表示的是1,5,9这三个数的任意一个数
* [a-z]表示的是小写字母中的任意一个
* [A-Z]表示的是大写字母中的任意一个
* [0-9a-zA-Z]表示的是所有数字或者所有字母中的任意一个 例:"ab1"
* []另一个含义:把正则表达式中的元字符的意义干掉 [.] --> 代表的只是一个点
* | 表示的是:或者 例:[0-9]|[a-z]表示的是要么是一个数字要么是一个小写字母
* ()表示的是:分组和提升优先级 例:[0-9]|([a-z])优先级一样时,先从左边开始匹配
* 限定符,也叫元字符
* * 表示的是的是前面的表达式出现0次到多次 例:([a-z][0-9])* ---> "abcdef" 返回true
* + 表示的是的是前面的表达式出现1次到多次 例:([a-z][0-9])+ ---> "abcdef" 返回false
* 例:[a-z][9]+ ---> "asd9890" 返回true
* ? 表示的是的是前面的表达式出现0次到1次 例:[a-z][9]? ---> "asd9890" 返回false
* {}表示的是更加明确前面的表达式出现的次数
* {0,}表示的是的是前面的表达式出现0次到多次,跟*一样
* {0,1}表示的是的是前面的表达式出现0次到1次,跟?一样
* {4}表示的是的是前面的表达式出现4次
* {,10}===>错误
*
* ^ 表示的是以什么开始,或者取非
* ^[a-z]表示的是以小写字母开始
* [^a-z]表示的是取非,即非小写字母
* [^0-9a-zA-Z]表示的是特殊符号和汉字
* $ 表示的是以什么结束 例:[0-9][a-z]$必须以小写字母结束
* 严格模式:^[0-9]+[a-z]{1-5} ---> "1ds23sd"返回的是true
*
* \d 数字中任意一个
* \D 非数字中任意一个
* \s 空白符中一个
* \S 非空白符中任意一个
* \w 非特殊符号
* \W 特殊符号
* \ 转移符
* */