前端进阶必须知道的正则表达式知识

Posted 前端大全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端进阶必须知道的正则表达式知识相关的知识,希望对你有一定的参考价值。

(给前端大全加星标,提升前端技能

在实际做项目过程中会经常遇到需要验证的情况,这时候如果对正则表达式不够了解,就需要经常去网上找,显得low,为了能够自己手写正则,在下花功夫做了一些笔记,并且用这些知识做了一个正则的代码库(链接见文末),方便平时自己使用。

声明:

  1. ES9代表ES2018,如果特性后加了ES9,那么代表是ES2018中新增的特性

感兴趣的同学可以加文末的微信群,一起讨论吧~

1. 简介

正则表达式(Regular Expression) 是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。

简单来说就是:按照某种规则去匹配符合条件的字符串。正则表达式的规则是 / pattern /flags

可以使用字面量形式或者new的方式来创建正则表达式

 
   
   
 
  1. // 使用直接字面量创建 ,推荐使用,性能更好,注意这里pattern不能为空,不然以为是注释

  2. var exp1 = /\d/g


  3. // 使用RegExp对象创建

  4. var exp2 = new RegExp('\d', 'g');

模式中使用的所有元字符都建议在之前加 \转义,正则表达式中的元字符包括:

 
   
   
 
  1. ( [ { \ ^ $ | ) ? * + . ] }

2. 内容

2.1 匹配模式

修饰符表示正则表达式的匹配模式

修饰符 描述
i 执行对大小写不敏感的匹配
g 执行全局匹配,查找所有匹配而非在找到第一个匹配后停止
m 执行多行匹配,会改变 ^和 $的行为
u 可以匹配4字节的unicode编码
s (ES9) dotAll模式, .可以匹配换行符

加了u修饰符,会正确处理大于 \uFFFF的unicode,比如4字节的

以上是关于前端进阶必须知道的正则表达式知识的主要内容,如果未能解决你的问题,请参考以下文章

学习HTML5前端,要会哪些知识点和技能?

循环通过 python 正则表达式匹配

Python 学习第十八天 js 正则及其它前端知识

前端小知识点:正则前瞻

前端小知识点:正则前瞻

前端基础进阶:函数与函数式编程