js中的/[^a-z]/和/([^a-z])/怎么作用不一样的

qq_41300814 2018-04-30 11:36:21
...全文
1298 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_41300814 2018-06-03
  • 打赏
  • 举报
回复
谢谢大佬,明白了!
天际的海浪 2018-04-30
  • 打赏
  • 举报
回复
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/split 中的原话
引用
如果分隔符是包含捕获括号的正则表达式,则每次分隔符匹配时,捕获括号的结果(包括任何未定义的结果)将被拼接到输出数组中。但是,并不是所有浏览器都支持此功能。
天际的海浪 2018-04-30
  • 打赏
  • 举报
回复
这是从IE9开始的,IE8-不会获取子匹配的结果
天际的海浪 2018-04-30
  • 打赏
  • 举报
回复
split方法,如果正则表达式中有子匹配(),则每个子匹配的匹配结果也会添加到返回的数组中。 var str = "aaa1-2bbb"; str.split(/(\d)-(\d)/) 返回 ["aaa","1","2","bbb"] 其中"1","2"是子匹配的结果 不想获取子匹配结果可以用(?:)
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2018-04-30 11:36
社区公告
暂无公告