正则表达式——基础知识

正则表达式

简介

1,什么是正则表达式?

正则表达式,又称规则表达式。是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

2,正则表达式的主要作用?

  • 测试字符串的某个模式;
  • 替换文本;
  • 根据模式匹配从字符串中提取一个子字符串。

3,正则表达式的组成?

正则表达式由两种基本字符类型组成:普通字符和元字符

普通字符:仅能够描述其本身,例如所有的字母和数字。
元字符:指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。例如^、$、.、*、+、?、=、!、:、|、\、/、()、[]、{}。

声明

1,通过new关键词来定义正则表达式对象

let reg = new RegExp("[abc]");

2,以/开头,/结尾,中间内容为正则表达式

let reg = /[abc]/;

方法

正则表达式中的两个常用方法

  1. test():返回一个boolean值(true或false),代表是否匹配;
let reg = /[abc]/;
let a = "sjakvhqwj";
console.log(reg.test(a));//返回值为true
  1. exec():返回一个数组,数组中存放的是正则匹配的元素,如果不匹配,返回null
let reg = /[abc]/;
let a = "kshabckjgh";
let b = "jhihhio";
console.log(reg.exec(a));//[a]
console.log(reg.exec(b));//null

正则表达式部分字符

  • .:匹配除换行以外的任意一个字符
  • \ .:匹配一个.
  • ^:匹配字符串的开始
  • $:匹配字符串的结束
  • |:或者
  • ():分组,组从左到右进行查询
  • \num:引用第num组的匹配的内容,num从1开始
  • \w:匹配任意一个字母,数字或下划线,等价于[0-9A-Za-z_]
  • \W:匹配除了字母,数字,下划线或汉字以外的任意一个字符,等价于[^0-9A-Za-z_ ]
  • \s:匹配任意一个空白符,等价于[\f\n\r\t\v]
  • \S:匹配任意一个非空白符,等价于[^\f\n\r\t\v]
  • \d:匹配一个数字字符,等价于[0-9]或[0123456789]
  • \D:匹配一个非数字字符,等价于[0-9]或[0123456789]
  • {n}:匹配n个字符
  • {n,}:匹配至少n个字符
  • {n,m}:匹配n到m个字符
  • ?:非捕获组匹配

贪婪式表达式(尽可能多的匹配)

  • *:匹配0到多个字符,等价于{0,}
  • +:匹配至少1个字符,等价于{1,}
  • ?:匹配0到1个字符,等价于{0,1}

非贪婪式表达式(尽可能少的匹配)

  • *?:匹配0到多个字符,等价于{0,}
  • +?:匹配至少1个字符,等价于{1,}
  • ??:匹配0到1个字符,等价于{0,1}

断言

  • 正向确定断言(?=)
  • 正向否定断言(?!)
  • 反向确定断言(?<=)
  • 反向否定断言(?<!)

暂时总结到这,后期继续补充

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值