预定义类匹配常见的字符类

1见的预定义类字符(除了回车符和换行符之外的所有字符  

   \d 数字字符

   \D 非数字字符

   \s 空白符

   \S 非空白符

   \w 单词字符(如数字、字母和下划线)

   \W 非单词字符

2   正则表达式还提供了几个常用的边界匹配字符

   ^ 以前开始

   $ 以末开始

   \b 单词边界

   \B 非单词边界

3   非贪婪模式

   让正则表达式尽可能少匹配,一旦匹配成功就不再匹配

4   贪婪模式

   让正则表达式尽可能多匹配,匹配完所有能匹配的

5   把非贪婪模式改为贪婪模式在量词后面加上问号,如:{3,8}? 

6   使用( )进行分组,使量词作用于分组,如:(my){3}括号里的单词重复三遍

7   使用 | 选择她还是他,或者的意思。如(m|y)选择m或者y

8   反向引用,如:2017-06-28=>06/28/2017

   写成’2017-06-28’.replace(/(\d{4})-(\d{2})-(\d{2})/g, ’$2$3$1’)

9   忽略分组

   不希望捕获某些分组,在分组内加上问号,如:(?:my).(ok)

10   常见的量词

   ?出现零次或一次(最多出现一次)

   + 出现一次或多次(最少出现一次)

   * 出现零次或多次(任意次)

   {n,}至少出现一次

   {n}出现n次

   {n,m}出现n到m次

11   正则表达式从文本头部向尾部开始解析,文本尾部方向称为“前”

12   前瞻就是正则表达式匹配到规则的时候,向前检查是否符合断言

13   后瞻则方向相反,JavaScript不支持后瞻

14   符合和不符合特定断言称为肯定或正向匹配和负向或否向匹配

   正向前瞻exp(?=assert)

   负向前瞻exp(?!=assert)

   正向后顾exp(?<=assert)

   负向后顾exp(?<!assert)