我遇到了一个问题,它挑战我创建二进制数的正则表达式(包含0和1).但是,如果二进制数仅包含最多五个1,则字符串应该匹配.如何限制正则表达式中的字符外观?
例子:
> 01101101是对的
> 01111100是正确的
> 10110011是正确的
> 01111110错了
> 11111110错了
解决方法
^0*(?:10*){,5}$
本质上,它匹配’1’和’0’的任意组合,但只允许包含单个’1’字符的子字符串最多出现五次.
在这里尝试一下:
https://regex101.com/r/JKV1Uk/2
说明:
> ^匹配字符串的开头> 0 *匹配零或更多’0′>(?:10 *){,5}最多匹配5’1,后跟任意数量的零> $匹配字符串的结尾