【正则表达式】字符串模式匹配,提高开发效率_js 正则匹配 字符串 是否存在 效率

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

正则表达式:(^\d{18}$)|(^\d{17}(\d|X|x)$)

现在你也许看不懂,但是等看完这篇博客之后在加以练习你就能轻松写出来了。

字符范围匹配

下面这个表是对单个字符约束的一些正则表达式:

正则表达式说明
A精准匹配单个字符
`xy`
[xyz]字符集合,允许出现的2个字符
[a-z]字符集合
[^xyz]集合内字符不允许出现

例如:匹配数字范围(0570-0579)

正则表达式为:057[0-9]

元字符

用于匹配特殊符号又称作元字符

常用的元字符如下:

正则表达式说明
\d匹配任意单个数字
\D匹配\d规则以外的任意单个字符
\w匹配任意单个数字字母下划线
\W匹配\w规则以外的任意单个字符
\s匹配单个空格
\n匹配单个换行符
.匹配任意单个字符(换行符除外)
\.特殊字符只匹配.

示例:请匹配杭州与宁波座机号码(0571|0574-XXXXXXXX)

正则表达式为:057[14]-\d\d\d\d\d\d\d\d

多次重复匹配

当我们匹配的字符串比较长,比如身份证号有18为一个一个写\d比较麻烦,多次重复匹配只能简化我们的操作。

常用的多次重复匹配如下:

正则表达式说明
A{N}精准N次匹配
A{N,}最少出现N次
\d{N,M}最少可以出现N次,最多可以出现M次
\d*可以出现零次至无限次
\d+最少出现一次,相当于{1,}
\d?最多出现1次,相当于{0,1}

示例:匹配全国的座机号(区号3或4位-电话号码7或8位)

正则表达式:\d{3,4}-\d{7,8}

定位匹配

正则表达式说明
^A.*头匹配-以字符A开头
.*A$尾匹配-以字符A结尾
^A.*A$全字匹配-以字符A开头结尾

示例:以C开头,B结尾的字符串

正则表达式:^C.*B$

贪婪模式与非贪婪模式

贪婪模式:在满足条件的情况下尽可能多匹配到字符串
非贪婪模式:在满足条件的情况下尽可能少匹配到字符串

正则表达式在默认的情况下就是贪婪模式

示例:输入123456

  1. 在使用正则表达式\d{4,5},之后匹配到的是12345,可见这就是贪婪模式。
  2. 在使用正则表达式\d{4,5}?,之后匹配到的是1234,可见这就是非贪婪模式。

可见,只需要在正则表达式的后面加一个?,就可以从贪婪模式变换到非贪婪模式。

表达式分组

分组就是将正则分组为多个子表达式

示例:abababcdcdcd

正则表达式:(ab){3}(cd){3}

示例:检查输入身份证号是否合法的正则表达式

正则表达式:(^\d{18}$)|(^\d{17}(\d|X|x)$)

结合JavaScript练习正则表达式

在JS中定义正则表达式对象只需要在//之间书写正则表达式即可

我们实现用表单来验证输入姓名和身份证号是否合法。



![img](https://img-blog.csdnimg.cn/img_convert/44fc9f649ade6207a372720c3da38bb9.png)
![img](https://img-blog.csdnimg.cn/img_convert/f2798816ece1c3851e619be621fc7333.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**

,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值