javascript

位置:IT落伍者 >> javascript >> 浏览文章

javascript正则表达式容易被忽略的小问题整理


发布日期:2019年07月24日
 
javascript正则表达式容易被忽略的小问题整理
小问题:lastIndex只对exec()和test()方法起作用stringmatch(regexp)是不会影响regexp这个正则的lastIndex属性的具体祥看本文

中括号[]里面的特殊字符是不用转义的例如[/][]

  • [?][+]都是可以直接匹配对应的字符 *?+下面是测试结果

    所以/[d]/这个正则表达式实际上是匹配数字字符或者字符""作用等同于/[d]/

    match()和exec()的区别

    二者的区别主要在于正则表达式在设置了全局标识符g的情况

    如果没有设置全局标识符g那么调用stringmatch(regexp)的结果和调用regexpexec(string)的结果是相同的

    但在设置了全局标识符g时stringmatch(regexp)会把所有的匹配都放入结果数组中regexpexec(string)的结果则只给出第一个成功的匹配

    而用regexplastIndex属性来记录下一次匹配开始的位置测试如下

    PS:另外要注意的是lastIndex只对exec()和test()方法起作用stringmatch(regexp)是不会影响regexp这个正则的lastIndex属性的

                   

  • 上一篇:JS 实现图片直接下载示例代码

    下一篇:javascript基础之查找元素的详细介绍