1.方括号
这是W3C的解释
而事实上,[A-z]不仅仅包含字母,还包含下划线!!!
[.] 只能匹配真正的 . 符号,含义同\.
2.非贪婪
所有的正则匹配都是从左到右进行的,当匹配到之后,贪婪模式会尝试继续向后查找,是否有更长的字符串满足正则表达式
而非贪婪是匹配到第一个就停下,所以非贪婪并不是查找满足要求的最短的字符串
3.锚字符/零宽断言
\B并非 !\b , \B也是锚字符,只能匹配位置
正则表达式中锚字符统统不能加? + * 等重复标志,否则报错
\w与\W的边界属于\b (eg: 下划线_属于\w,连字符-属于\W)
\w与\W, \W与\W的边界属于\B
字符串replace方法中,replacement 不仅(?:xxx)不计数 (?=xxx)也不计数 (指的是$的计数)