我需要一个正则表达式(或任何其他东西)对象来匹配一个字符,然后是同一字符的多个实例,直到它到达一个新字符。
理想情况下,我需要一个函数来返回在输入字符串中找到的所有连续字符的数组。它应该返回这样的东西。
> like_characters("Hello?");
Array ["H", "e", "ll", "o", "?"]
> like_characters("1234442332111???");
Array ["1", "2", "3", "444", "2", "33", "2", "111", "???"]
我没有使用正则表达式——任何通过字符更改“拆分”字符串的方法都可以。它最好是低字节代码,因为我正在处理空间有限的小组项目。
尝试
str.split(/\d*/)
str.split(/\d+/)
/(\d)+\1/
这几乎是我所知道的(坦率地说,我很惊讶我能走到这一步——正则表达式的领域是如此模糊)。
最佳答案
正则表达式会很简单
.match(/(.)\1*/g)
它的作用 - 它匹配一个字符和后面跟着的相同字符的任意数量(包括零)。
"Hello?".match(/(.)\1*/g)
// ["H", "e", "ll", "o", "?"]
关于javascript - 用于匹配重复字符的 RegExp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27556492/