正则的补充

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
     var str = "123hfgh789hgf25ghf456hg3.14f";
             //
     var reg = /\d+/g;
//     ES6添加了y修饰符和g类似,不过y 修饰符在下次匹配的时候需要紧跟上次匹配成功之后的结果匹配,而g则是全局匹配;
//     exec() 方法在匹配全局对象的时候, 多次匹配会在上一次结束的地方继续匹配;

     console.log(str.match(reg));//["123", "789", "25", "456", "3", "14"]
      console.log(reg.exec(str));//["123", index: 0, input: "123hfgh789hgf25ghf456hg3.14f", groups: undefined] 每次只打印一个值,但包括很多信息。
     reg.lastIndex = 0;
      console.log(reg.exec(str));//123..(很多信息).
     reg.lastIndex = 1;
     console.log(reg.exec(str));//23...

     reg.lastIndex = 3;
     console.log(reg.exec(str));//789...
     console.log(reg.lastIndex)//10
     reg.lastIndex = 10;
     console.log(reg.exec(str));//25
     console.log(reg.lastIndex)//15
     //    ........
     reg.lastIndex=0;
     console.log(reg.exec(str));//123.
     console.log(reg.lastIndex) //3,最后一个值在第几位?

     var s = 'aaa_aa_a’;
     var r1 = /a+/g;
     var r2 = /a+/y;

     r1.exec(s) // ["aaa”]
     r2.exec(s) // ["aaa”]
     r1.exec(s) // ["aa”]
     r2.exec(s) // null

</script>
</html>
复制代码

 

posted @   菜鸟小何  阅读(157)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示