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