你能匹配两套相等的长度,怎么样?

时间:2015-02-28 15:35:21

标签: javascript regex

是否可以创建一个正则表达式来匹配两个长度相等的集合?例如:我想匹配aabbaaaabbbb,但不匹配aaaabb。我想要的是类似[a]+[b]+的东西,但是两者都有相同的长度,所以类似于[a]{x}[b]{x},其中x是可能的长度。是否有可能使用一个javascript正则表达式,如果我使用多个正则表达式的多种可能性(我不认为我需要检查长度为32或更高)或我应该自己编码吗?

1 个答案:

答案 0 :(得分:1)

您可以拆分两个字符串并检查两个字符串是否包含相同的字母。

var rgx = /^(.)\1*$/, // makes sure all the characters are same
    str = "aaabbb", // define your string
    len = str.length / 2, // divide the length by two assuming it is even
    firstHalf = str.slice(0, len), 
    secondHalf = str.slice(len);

var isValid = (rgx.test(firstHalf) == rgx.test(secondHalf));