思路来源: https://segmentfault.com/q/10...
怎么截取
'aaabbbbcddd' => ['aaa','bbbb','c','ddd']
网友给出了:'aaabbbbcdddd'.match(/(.)1+/gi); 测试发现没有匹配到c,但是这已经给出了思路。
优化:'aaabbbbcdddd'.match(/(.)(1+)?/gi); 可以匹配到c,结果也对了。
继续优化:'aaabbbbcdddd'.match(/(.)1*/gi); 更简洁,也的确应该如此。
那么问题来了,这个1是什么意思呢:
正则表达式中的小括号"()"是代表分组的意思。 如果再其后面出现1则是代表与第一个小括号中要匹配的内容相同,
重要的一点:1必须与小括号配合使用。
百度百科:num => num是一个正整数。对所获取的匹配的引用。例如,“(.)1”匹配两个连续的相同字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。