正则技巧(一)

正则我们一般是用来匹配校验我们需要的情况或者不需要的情况
常用情况(\大写是小写的负向情况)

字符 描述
\s 空白字符
\S 非空白字符
? 0或1次匹配
* 任意次匹配
+ 1次或多次匹配
^ 开始位置
$ 结束为止
\b 边界

任意匹配后加上?表示非贪婪匹配,即匹配够了就行,因为?表示有或者1,有了就行,不贪心

()表示捕获匹配,会被记录缓存,若里面有 | 分割,则表示里面的分割两侧是可选项

'123'.match(/(1|3)/g)
// 匹配 1 或 3
(?:)非捕获
效果同上只是不会被记录

exp1(?=exp2)
表示匹配后面是exp2的exp1

exp1(?!exp2)
表示匹配后面不是exp2的exp1

(?<=exp2)exp1
表示匹配前面是exp2的exp1

(?<!=exp2)exp1
表示匹配前面不是exp2的exp1
(exp)\1
表示重复匹配exp第一个()内容
// 示例
/^(\w+)\1+$/.test(str)
// 判断str是否是重复子字符串构成
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容