阅读大块头《javascript权威指南》笔记10-正则表达式的模式匹配

  • 在正则表达式创建的RegExp对象中,ECMAscript5的标准中,实例是独立的。

  • 用 反斜线 \ 作为转义非字母的特殊字符。

  • ^ 符号定义否定字符,例如 /[^abc]/ 匹配 a b c 之外的所有字符。

  • | 表示可选字符, 例如 /ab|cd|ef/ 匹配 ab 或者 cd 或者 ef,顺序为从左到右。

  • /[a-z]/ 匹配小写字母, /[a-zA-Z0-9]/ 匹配任何字母和数字。

  • search() 的参数如果不是正则表达式,会自动转换为正则表达式。

  • split() 方法的参数也可以是一个正则表达式。

  • [...] 匹配方括号内的任意字符

  • [^...] 不在方括号内的任意字符。

  • . 除换行符和其他Unicode航终止符之外的任意字符。

  • \w 任何ASCII字符的单词,等同 [a-zA-Z0-9]

  • \W 任何不是ASCII字符的单词,同上相反.

  • \s 任意Unicode空白符。

  • \S 任意非Unicode空白符的字符,但和 \w 不同。

  • \d 任何ASCII数字,等同 [0-9]

  • \D 除了ASCII数字外的任意字符。

  • {n,m} 匹配前一项至少n次,但是不超过m次。

  • {n,} 匹配前一项n次或者更多。

  • {n} 匹配前一项n次

  • ? 匹配前一项0次或者1次,等同 {0,1}

  • + 匹配1次或者多次,等同 {1,}

  • * 匹配前一项0次或者多次,等同 {0,}

  • (...) 组合,将几个项组成为一个单元

  • (?:...) 仅组合,但不记忆和改组相匹配的字符

  • ^ 匹配开头

  • $ 匹配结尾

  • (?=P) 零宽正向先行断言,要求接下来的字符都与p匹配,但是不包括匹配p的字符。

  • (?!p) 零宽负向先行断言,要求接下来的字符不与p匹配。