C C++最全少女学习日记——正则表达式专题篇_我的正则表达式专题博客,C C++开发入门基础教程

img
img

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

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

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

var regexp = new RegExp(/123/);
console.log(regexp);

方式二:利用字面量创建 正则表达式
var rg = /123/;


## 检测正则表达式


* test() 方法可以检测检测字符串是否符合该规则;
* 返回值:true/false;
* 参数:测试字符串;
* 语法:obj.test(检测字符串)



var rg = /123/;
console.log(rg.test(123));//匹配字符中是否出现123 出现结果为true
console.log(rg.test(‘abc’));//匹配字符中是否出现123 未出现结果为false


## 常见特殊字符


### 边界符


正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符^和 $ 。如果 ^和 $ 在一起,表示必须是精确匹配。 


 ![](https://img-blog.csdnimg.cn/ad063c0b06404e95b1d8ce3a922cc860.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA4oCc546r55Gw5peg5Y6f5YiZIOKAnQ==,size_16,color_FFFFFF,t_70,g_se,x_16)



var rg = /abc/; // 正则表达式里面不需要加引号 不管是数字型还是字符串型
// /abc/ 只要包含有abc这个字符串返回的都是true
console.log(rg.test(‘abc’));//true
console.log(rg.test(‘abcd’));//true
console.log(rg.test(‘aabcd’));//true

var reg = /^abc/;// /^abc/ 只要abc字符串开头返回的都是true
console.log(reg.test(‘abc’)); // true
console.log(reg.test(‘abcd’)); // true
console.log(reg.test(‘aabcd’)); // false

var reg1 = /^abc$/; // 精确匹配 要求必须是 abc字符串才符合规范
console.log(reg1.test(‘abc’)); // true
console.log(reg1.test(‘abcd’)); // false
console.log(reg1.test(‘aabcd’)); // false
console.log(reg1.test(‘abcabc’)); // false


### 字符类


      字符类表示有一系列字符可供选择,只要匹配其中一个就可以了。所有可供选择的字符都放在方括号内。


#### 方括号


  [ ] 方括号表示有一系列字符可供选择,只要匹配其中一个就可以了



var rg = /[abc]/; // 只要包含有a 或者 包含有b 或者包含有c 都返回为true
console.log(rg.test(‘andy’));//true
console.log(rg.test(‘baby’));//true
console.log(rg.test(‘color’));//true
console.log(rg.test(‘red’));//false

var rg1 = /1$/; // 三选一 只有是a 或者是 b 或者是c 这三个字母才返回 true
console.log(rg1.test(‘aa’));//false
console.log(rg1.test(‘a’));//true
console.log(rg1.test(‘b’));//true
console.log(rg1.test(‘c’));//true
console.log(rg1.test(‘abc’));//true

var reg = /2$/ //26个英文字母任何一个字母返回 true -表示链接 a-z表示的是a 到z 的范围
console.log(reg.test(‘a’));//true
console.log(reg.test(‘z’));//true
console.log(reg.test(‘A’));//false

//字符组合
var reg1 = /3$/; // 26个英文字母(大写和小写都可以)任何一个字母返回 true

//取反 方括号内部加上 ^ 表示取反,只要包含方括号内的字符,都返回 false 。
var reg2 = /[a-zA-Z0-9]$/;
console.log(reg2.test(‘a’));//false
console.log(reg2.test(‘B’));//false
console.log(reg2.test(8));//false
console.log(reg2.test(‘!’));//true


#### 量词符


 量词符用来设定某个模式出现的次数 ,常见的量词符如下图:


![](https://img-blog.csdnimg.cn/9b1226e33d8043fe8f6141bc318f19c2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA4oCc546r55Gw5peg5Y6f5YiZIOKAnQ==,size_20,color_FFFFFF,t_70,g_se,x_16)



//* 重复0次或者多次
var rg1 = /[a-z]*/;
console.log(rg1.test(‘zz’));//true
console.log(rg1.test(‘aaa’));//true
console.log(rg1.test(‘’));//true

//+ 重复1次或者多次
var rg2 = /[a-z]+/;
console.log(rg2.test(‘zz’));//true
console.log(rg2.test(‘aaa’));//true
console.log(rg2.test(‘’));//false

//? 重复1次或者0次
var rg3 = /[a-z]?/;
console.log(rg3.test(‘a’));//true
console.log(rg3.test(‘’));//true

//{n} 重复n次
var rg4 = /[a-z]{3}/;
console.log(rg4.test(‘cc’));//false
console.log(rg4.test(‘aaa’));//true
console.log(rg4.test(‘’));//false

//{n,} 重复n次或者大于n次
var rg5 = /[a-z]{3,}/;
console.log(rg5.test(‘cc’));//false
console.log(rg5.test(‘aaa’));//true
console.log(rg5.test(‘ddddd’));//true

//{n,m} 重复n次到m次
var rg6 = /[a-z]{3,5}/;
console.log(rg6.test(‘cc’));//false
console.log(rg6.test(‘aaa’));//true
console.log(rg6.test(‘ddddd’));//true


#### 小括号


小括号表示优先级



//( )提升优先级
var rg = /^abc{2}$/;

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


  1. abc ↩︎

  2. a-z ↩︎

  3. a-zA-Z0-9 ↩︎

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值