- 匹配 test:语法 正则.test(字符串)
- 元字符
\d 表示一位数字 \D 表示一位非数字 \w 表示数字字母下划线其中一个 \W 表示除了\w 其他的字符 \s 表示一位空字符 \S 表示一位非空白字符 . 表示一位非换行的任意字符 \ 表示转义符 ^ 表示开头 $ 表示结束 * 表示0-正无穷 + 表示1-正无穷 ? 表示0-1次 {n} 表示限定n次 {n,}表示最少n次 {n,m} 表示n到m次 () 当成一个整体 单独捕获 | 或字符 左右两边都可以 [] 包含 包含其中一个就可以 [^] 不包含里面的任何一个 - 到 i 忽略大小写 g 全局,可以多次捕获
- 元字符
- 捕获 exec 语法: 正则.exec(字符串)
- 没有捕获到,直接返回null
- 捕获到了,没有小括号也没有g,永远捕获下标0开始第一个满足条件的
- 有g 捕获第一次后,会从捕获的地方开始重新捕获
- 当所有匹配完了后,再次捕获返回null
- 有小括号,下标0 还是我们正常捕获到的内容,从下标1开始,就是每个小括号捕获到的内容
- 正则的两大特性
- 懒惰。正常捕获字符串的时候,每次都从下标0开始 ,解决方式,给正则添加一个修饰符g
- 贪婪 每次捕获的时候,会尽可能的多捕获一些东西,解决 在原有的修饰符后添加一个?