我有一个使用正式语言的练习,我们正在与Regex一起工作,该练习是为了验证一个正好具有四个1的链,例如:
链1:0110101000-有效;
链2:010110-无效;
链3:011011011-无效;
到目前为止,我已经能够验证具有四个或更多1的字符串,但是我无法确切确定给定字符应重复多少次:
这是我到目前为止能够开发的表达方式:/(\S*1){4}.*/
此表达式将验证长度大于四个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
个字符$
-字符串的结尾。