javascript - 用于匹配重复字符的 RegExp

标签 javascript regex

我需要一个正则表达式(或任何其他东西)对象来匹配一个字符,然后是同一字符的多个实例,直到它到达一个新字符。

理想情况下,我需要一个函数来返回在输入字符串中找到的所有连续字符的数组。它应该返回这样的东西。

> 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/

相关文章:

regex - SED 中的多行替换

javascript - 尝试编辑 "React Native init"文件结构

javascript - getJSON 和 servlet 通信错误

javascript - 正则表达式分隔相似的字符串

php - 在 PHP 中,如何从 html 标签中删除特定类?

javascript - 当我使用 $ 时正则表达式不起作用

objective-c - 正则表达式匹配第一次出现*之后*出现的所有字符?

javascript - 如何在asp.net中使用javascript将按钮html回发到服务器

javascript - 通过循环遍历数组来填充表单

javascript - 单击时从 jquery 可排序列表中删除一个元素