javascript - 你能匹配两组等长的吗?如何匹配?

标签 javascript regex

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

最佳答案

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

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));

关于javascript - 你能匹配两组等长的吗?如何匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28783450/

相关文章:

javascript - 禁用 JavaScript 时单选按钮 onClick

php - 为什么我的提交表单会将我带到我的 php 页面?

regex - 如何在 Notepad++ 正则表达式中使用超过九个反向引用?

C# RegEx 查找特定字符串或字符串中的所有单词

java - 正则表达式 - 获取两个注释之间的代码

jquery - 尽管格式正确,但日期与 RegExp 不匹配

javascript - 使用纯 JS 将文本添加到标签中的选项

javascript - 改变页面的URL而不改变页面

javascript - 设置下划线长度

python - 根据python中的匹配关键字重建正则表达式字符串