前端进阶必须知道的正则表达式知识
Posted 前端大全
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端进阶必须知道的正则表达式知识相关的知识,希望对你有一定的参考价值。
(给前端大全加星标,提升前端技能)
在实际做项目过程中会经常遇到需要验证的情况,这时候如果对正则表达式不够了解,就需要经常去网上找,显得low,为了能够自己手写正则,在下花功夫做了一些笔记,并且用这些知识做了一个正则的代码库(链接见文末),方便平时自己使用。
声明:
ES9代表ES2018,如果特性后加了ES9,那么代表是ES2018中新增的特性
感兴趣的同学可以加文末的微信群,一起讨论吧~
1. 简介
正则表达式(Regular Expression) 是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。
简单来说就是:按照某种规则去匹配符合条件的字符串。正则表达式的规则是 / pattern /flags
可以使用字面量形式或者new的方式来创建正则表达式
// 使用直接字面量创建 ,推荐使用,性能更好,注意这里pattern不能为空,不然以为是注释
var exp1 = /\d/g
// 使用RegExp对象创建
var exp2 = new RegExp('\d', 'g');
模式中使用的所有元字符都建议在之前加 \
转义,正则表达式中的元字符包括:
( [ { \ ^ $ | ) ? * + . ] }
2. 内容
2.1 匹配模式
修饰符表示正则表达式的匹配模式
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配 |
g | 执行全局匹配,查找所有匹配而非在找到第一个匹配后停止 |
m | 执行多行匹配,会改变 ^ 和 $ 的行为 |
u | 可以匹配4字节的unicode编码 |
s (ES9) | dotAll模式, . 可以匹配换行符 |
加了u修饰符,会正确处理大于 以上是关于前端进阶必须知道的正则表达式知识的主要内容,如果未能解决你的问题,请参考以下文章\uFFFF
的unicode,比如4字节的