如何在正则表达式JavaScript中获取子字符串的长度

如何在正则表达式JavaScript中获取子字符串的长度,javascript,regex,Javascript,Regex,这是我的正则表达式 /^[a-zA-Z0-9-]{40}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/ 有一个条件:前40个字符后的每个字符串的长度必须为16个字符。这16个字符的字符串将是不重复的,最少2次,最多10次。所以我想得到这个子字符串的长度,应该是16 以下是输入字符串: string input="PR212D4EB2-6B25-4020-BD2A-941F69C0AA4102GEX2421262506027GEX2437345435522"

这是我的正则表达式

/^[a-zA-Z0-9-]{40}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/
有一个条件:前40个字符后的每个字符串的长度必须为16个字符。这16个字符的字符串将是不重复的,最少2次,最多10次。所以我想得到这个子字符串的长度,应该是16

以下是输入字符串:

string input="PR212D4EB2-6B25-4020-BD2A-941F69C0AA4102GEX2421262506027GEX2437345435522"
我想匹配“GEX2421262506027”和“GEX2437345435522”的长度。这样,最多将有10个字符串。我想验证此长度是否应为16个字符。

试试这个

  var pattern = /^[a-zA-Z0-9-]{40}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/;            
  var exp = text.match(pattern);
  if (exp) {
   alert(exp[0].length);
  }

如果只需要最后16个字符:

var string = 'PR212D4EB2-6B25-4020-BD2A-941F69C0AA4102GEX2421262506027GEX2437345435522';
var matching = string.match(/^[a-zA-Z0-9-]{40}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/);
console.log(matching[1]);
console.log(matching[1].length);

你有没有一个例子来说明这个正则表达式中的字符串是否匹配。你的最后一句话不全面,你能详细解释一下吗?他想问你有没有任何字符串值,你在上面试过这个正则表达式是的,我有一个输入字符串。我想匹配该字符串的最后16个字符。