正则表达式匹配重复的字符串

时间:2017-04-04 21:33:23

标签: regex url google-analytics

我正在尝试制作一个

的正则表达式
    如果字符串使用一组字符串中的字符串构造,则
  • 匹配。
  • 如果其中有任何其他字符串,则
  • 不匹配。

一组字符串的例子是['xyz','a','b']:

  • 'xyzab'== true
  • 'xyzxyzabbb'== true
  • 'aaabb'== true
  • ''== true
  • 'd'== false
  • 'aabbbbd'== false
  • 'zxy'== false

我是网址匹配:/

2 个答案:

答案 0 :(得分:1)

给定一组字符串{" str1"," str2",...," strN"},按如下方式编写正则表达式:

^(str1|str2|...|strN)*$

其中

  • ^匹配字符串的开头
  • (...)匹配任何字符串
  • *表示上面的那个可以重复0到无限次
  • $匹配字符串的结尾

答案 1 :(得分:1)

您可以尝试使用此正则表达式:^(?:xyz|[ab])*$



var regex = new RegExp('^(?:xyz|[ab])*$');
var input = ['xyzab', 'xyzxyzabbb', 'aaabb', '', 'd', 'aabbbbd', 'zxy'];

for (var i = 0, l = input.length; i < l; i++) {
    console.log(input[i], '->', regex.test(input[i]));
}
&#13;
&#13;
&#13;