开发者社区> 问答> 正文

关于正则里面的.

如下代码:

<script type="text/javascript">
            str = '<!-- My comment \n test -->'
            re = /<!--[.\W]*-->/g
            str.match(re) // '<!-- My -- comment \n test -->', '<!---->'
        </script>

既然.号可以匹配字母,但是不可以匹配n,那为什么我在[]号里面又加了一个匹配选项W来匹配这个n,为什么这样匹配为null,
当我修改代码

<script type="text/javascript">
            str = '<!-- My comment \n test -->'
            re = /<!--[\w\W]*-->/g
            str.match(re) // '<!-- My -- comment \n test -->', '<!---->'
        </script>

这样就能成功匹配,我不太懂为什么我第一个写法不可以匹配成功

展开
收起
a123456678 2016-03-11 10:18:41 1662 0
1 条回答
写回答
取消 提交回答
  • .不能放在[]里吧,放在里面会被当成字符的。匹配所有字符推荐采用的就是[wW]或者[sS]。

    2019-07-17 18:58:34
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载