为了账号安全,请及时绑定邮箱和手机立即绑定

str.match()中匹配的正则分组问题

str.match()中匹配的正则分组问题

梦里花落0921 2018-10-03 10:15:23
不加括号进行分组时数组就只有"12324"一项,加了括号为什么变成两个?
查看完整描述

1 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

match方法的匹配结果为一个数组。这个数组分为4部分,依次为:

  1. 整个正则表达式匹配的字符串

  2. 括号匹配的子串,每一对括号对应一个子串

  3. index:匹配的第一个字符位置

  4. input:输入字符串

str = "12324"str.match(/\d+/)
[ '12324', index: 0, input: '12324' ]
str = "12324"str.match(/(\d+)/)
[ '12324', '12324', index: 0, input: '12324' ]
str = "123abc"
 str.match(/\d+[a-z]+/)
[ '1232abc', index: 0, input: '1232abc' ]

str = "1232abc"str.match(/(\d+)([a-z]+)/)
[ '1232abc', '1232', 'abc', index: 0, input: '1232abc' ]


查看完整回答
反对 回复 2018-11-09
  • 1 回答
  • 0 关注
  • 1137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信