角色重复正则表达式的确切次数

时间:2018-07-25 13:59:54

标签: regex

我有一个使用正式语言的练习,我们正在与Regex一起工作,该练习是为了验证一个正好具有四个1的链,例如:

链1:0110101000-有效

链2:010110-无效

链3:011011011-无效;

到目前为止,我已经能够验证具有四个或更多1的字符串,但是我无法确切确定给定字符应重复多少次:

这是我到目前为止能够开发的表达方式:/(\S*1){4}.*/

此表达式将验证长度大于四个1的字符串,我需要验证一个正好具有四个1的字符串。

非常感谢您!

1 个答案:

答案 0 :(得分:2)

您可以使用

^(?:0*1){4}0*$

请参见regex demo

方案为:^(?:<ALL_BUT_ONE>*<ONE>){<LIMIT_NUM>}<ALL_BUT_ONE>*$

模式表示

  • ^-字符串的开头
  • (?:0*1){4}-一系列模式的4次重复
    • 0*-零个或多个0字符
    • 1-一个1字符
  • 0*-零个或多个(*0个字符
  • $-字符串的结尾。