正则表达式的一些用法

本文介绍了如何使用ES6标准的正则表达式从字符串'10011001000111'中找出对称的子串,如'10'、'0011'、'01'、'1100'等。通过代码示例和注释详细解释了实现过程,并欢迎读者留言讨论。
摘要由CSDN通过智能技术生成

 


下面是使用了正则表达式,从字符串 ‘10011001000111’ 中 晒选出 ‘10’ 、‘0011’、‘01’、‘1100’等诸如此量对称的字符串块出来。

在其中使用的是ES6标准来编写的,具体可以查看代码的注释。有疑问的可以留言一起讨论!

1 export default (str)=>{         
2    let r =[];                ///先准备好一个数组容器,把结果放进去
3    let match = (str) =>{     ///定义一个函数,用来处理截取过来的字串   
4        let j = str.match(/^(0+|1+)/)[0];  ///这里使用了Array.prototype.match()其返回数组
          //使用了 ^()的意思是匹配字符串中第一个含有括号里面的字符
          //而 0+ 是指匹配到0 或者 00 或者 00000000 等诸如此类的字符。
5        let o = (j[0]^1).toString().repeat(j.length);
          匹配后拿到j 数组里面的第一个元素 然后对其进行 ^1 的运算(既0=>1 或 1=>0 的操作)
          然后使用repeat()方法对其进行补字符长度补全的操作,例如目前是两位:00 占用两个位,如
          果需要4个位,则用 repeat(4)将 00 补全位 0000,

          这个算法的核心是,利用自己建立的模板 比如 通过以下一行代码,建立了如‘0011’ ‘10’等
          的模板,然后跟截取过来的字符串做 正则匹配对比,如果有则返回此 字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值