4

我需要 Javascript 中的正则表达式来匹配重复的字母。

我想使用正则表达式在字符串中发现一个重复的字母。并且也在他们周围分裂。

 var str = "aabbcde";
 str.split(/[a-z](?=$1)/g)

但它仍然返回整个字符串。我想拆分 ["aabbcde"]。如何使正则表达式模式匹配重复的字母?我尝试的是首先匹配任何一个字母,然后使用 (?= 正则表达式匹配匹配后的那个。但它不工作。知道吗?非常感谢

我的愿望输出是

 var str = "aabbcde";
 str.split(/[a-z](?=$1)/g)
 // output = ["aa", "bb", "c", "d", "e"]  
4

1 回答 1

6

您必须将正则表达式括起来()才能组成一个组。并用于\1反向引用组(而不是$1. $1is 可用于replace方法中的替换字符串)。

var str = "aabbcde";
str.match(/([a-z])\1*/g)
// => ["aa", "bb", "c", "d", "e"]
于 2013-09-15T05:42:50.917 回答