【初识】正则表达式

正则表达式(基础认识)

regular expression : RegExp

首先看下关于本文章的思维导图吧


记忆记忆,对于初学正则的小伙伴,这编文章值得记忆一下

1. 作用

  • 用来处理字符串的规则,学正则就是为了制定规则
    • 只能处理字符串
    • 它是一个规则:可以验证字符串是否符合某个规则(test),也可以把字符串中符合规则的内容捕获到(exec/match…)
    let str = 'good good study,day day up';
    let reg = /\d+/; //是否包含数字
    console.log(reg.test(str)); // false
    str = '2020-04-07';
    console.log(reg.exec(str));//"2020", index: 0, input: "2020-04-07", groups: undefined
    

2. 编写正则表达式

2.1 创建方式

  • 字面量方式:两个斜杆之间包起来的,都是用来描述规则的元字符
    let reg = /\d+/;
  • 构造函数模式创建 :两个参数
    let reg = new RegExp('\\d+');
    • 元字符字符串
    • 修饰符字符串

2.2 正则表达式由两部分组成

2.2.1 元字符
  • 量词元字符:设置出现的次数
元字符 含义
* 零到多次
+ 一到多次
零次或者一次
{n} 出现n次
{n,} 出现n到多次
{n,m} 出现n到m次
  • 特殊元字符:单个或者组合在一起代表特殊的含义
元字符 含义
\ 转义字符(普通->特殊->普通))
. 除\n(换行符)以外的任意字符
^ 以哪一个元字符开头
$ 以哪一个元字符结尾
\n 换行符
\d 0-9之间的一个数字
\D 非0-9之间的一个数字(大写和小写的意思是相反的)
\w 数字 字母 下划线中的任意一个字符
\s 一个空白字符(包含空格 制表符 换页符等)
\t 一个制表符(一个TAB键:四个空格)
x y
[xyz] x或y或z中的一个字符
[^xy] 除了x/y以外的任意字符
[a-z] 指定a-z这个范围的任意字符([0-9][a-z][A-Z]_)=== \w
[^a-z] 除了a-z以外的字符
() 分组符号
(?: ) 只匹配不捕获
(?=) 正向预查
(?!) 负向预查
  • 普通元字符

/name/ 此正则匹配的是name

2.2.2 修饰符:img(写在正则的外面)
修饰符 英文全称 含义
i ignoreCase 忽略单词大小写匹配
m multiline 可以进行多行匹配
g global 全局匹配
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章