JS-正则表达式
wenking 7/10/2023 js
# 正则表达式
编写正则表达式:
- 简单字符:所有具有意义的字符,包括(数字,字母)
- 特殊字符:所有符号字符($,^,,*,.,...)
特殊字符
- \ : 非特殊字符前加个反斜杠表示这是一个特殊字符, n:表示字母n, \n 表示换行; 特殊字符前加反斜杠表示这是一个普通字符, .:表示匹配任意一个字符, .:表示匹配一个 .字符
- ^|$: 以开始|以结束
- *|+|?: 匹配前一个字符 0次或多次|1次或多次|0次或1次
- (foo) \1: 捕获括号,可以类比为将 foo 计为 变量 暂存, 下次需要引入 使用
\1
- [xyz.] : 字符集合,对于
.
和*
这样的特殊字符,他们不必要转义(转移也可以起作用), 内部的.
就是表示 .字符 - \s|\b: 匹配空白字符|匹配一个词的边界
断言匹配
- (?:foo): 非捕获括号(区别于捕获括号)
- x(?=y): 仅当x后跟着y,匹配x
- (?<=y)x: 仅当x前跟着y,匹配x
- x(?!y): 仅当x后不跟着y,匹配x
- (?<!y)x: 仅当x前不跟着y,匹配x
标志
- g: 全局搜索
- i: 不区分大小写搜索
- m: 多行搜索
- s: 允许
.
匹配换行 - u: unicode码模式匹配
- y: 粘性搜索
参考文档