正则表达式初识

一、作用

正则表达式的作用

  1. 给定的字符串是否符合正则表达式的过滤逻辑(匹配)
  2. 可以通过正则表达式, 从字符串中获取我们想要的特定部分(提取)
  3. 强大的字符串替换能力(替换)

二、使用

2.1 创建正则表达式对象

构造函数进行创建
var pattern = new RegExp(/book/);
直接量创建
var pattern = /book/;

2.2 参数

标志说明
i忽略大小写
g全局匹配
gi说明全局匹配+忽略大小写
m多行匹配

2.3 组成

2.3.1 边界符

边界符说明
^表示匹配首行的文本 (以谁开始)
$表示匹配行尾的文本 (以谁结束)

2.3.2 []方括号(表示匹配其中的任一字符,多选一)

2.3.3 量词符

量词符用来设定某个模式出现的次数。

量词说明
*出现0次或更多次
+出现1次或更多次
?出现0次或1次
{n}出现n次
{n,}出现n次或更多次
{n,m}出现n到m次

2.3.4 元字符类

预定义类指的是某些常见模式的简写方式

元字符说明
\d匹配数字,任意ASCLL数字, 等价于[0-9]匹配一个数字
\D匹配任意非数字的字符
\w匹配字母或数字或下划线
\W匹配非数字或字母或下划线
\s匹配任意空白符[/t/r/n/v/f]
\S匹配任意不是空白符的字符
.匹配除换行符和行结束符以外的任意单个字符
|或者
\.将特殊字符转义成(.)当成普通字符

2.3.5 案例

用户名:

/^[a-zA-Z0-9_]Z{5,20}$/  任意数字字母下划线5-20

验证手机号:

/^1[3|4|5|7|8]\d{9}$/  1开头,第二位为中括号中的一个,再跟9位数字

验证邮箱:

/\w+@\w+\.\w+(\.\w+)?/  数字字母下划线+@+数字字母下划线+.+数字字母下划线+(有也可以没有.+数字字母下划线)

三、方法

3.1 正则提取 match()

var str = "123123@qq.com,ziyuanyihe@163.cn 87666444@qq.com englishtown.com 222669312@qq.com...";
var array = str.match(/\w+@\w+\.\w+(\.\w+)?/g);
console.log(array);
返回一个数组 将对应的数据放入数组

3.2 正则替换 replace()

var str = "abc,efg,123,abc,123,a";
console.log(str.replace(/,|,/g, '.'));
将所有匹配的数据替换为后一个参数

3.3 检测是否符合正则规则 test()

var reg= /123/;
console.log(reg.test(123)); 匹配字符中是否出现123 出现结果为true否则为false

3.4 检索字符串 exec()

var str1 = 'abc abi hht yyo Abk';
var reg2 = /ab/gi;
console.log(reg2.exec(str1));
lastIndex:正则表达式的下一次查找的开始的下标,可以进行读取和修改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值