js中正则表达式笔记
正则表达式通常用于文本搜索与文本替换。
字符串的方法search与replace可以接受正则表达式作为参数:
search(/pattern/i) // 搜索符合正则表达式的字符
replace(/pattern/i, 'new string') // 找到符合正则表达式的字符并用new string替换
上文的样例中,正则表达式用/斜线包围,可以看到末尾还有一个i,这个i是正则表达式的修饰符,表示不区分大小写。
正则表达式有三个修饰符:
| 修饰符 | 含义 |
|---|---|
| i | 不区分大小写匹配 |
| g | 全局匹配(查找所有匹配的而不是找到第一个就停止) |
| m | 多行匹配 |
正则表达式的两个方法:
| 方法名 | 介绍 |
|---|---|
| test | 通过模式搜索字符串,包含则返回true,不包含则返回false |
| exec | 通过模式搜索字符串,并且返回符合模式的结果,没有匹配的则返回null |
let testStr = 'this is 123 that is 456'
console.log(/is/.test(testStr)) // true
console.log(/are/.test(testStr)) // false
let execStr = 'number 223'
console.log(/[0-9]/.exec(execStr)) // ["2"]
console.log(/is/.exec(execStr)) // null
正则表达式的常用模式:
| 模式 | 含义 |
|---|---|
| [abc] | 或的关系,匹配方括号内的任意一个字符 |
| [0-9] | 横线表示范围,匹配0到9之间的任意一个数字 |
| (x` | `y) |
| + | 匹配至少一个字符 |
| * | 匹配零个或多个字符 |
| ? | 匹配零个或一个字符 |
| . | 匹配除换行符\n外的任意一个单字符 |
| \d | 匹配一个数字 |
| \s | 匹配空白字符 |

浙公网安备 33010602011771号