如何限制正则表达式中的字符外观?

bil*_*m25 4 regex

我遇到了一个问题,它挑战我创建二进制数的正则表达式(包含0s和1s).但是,如果二进制数仅包含最多5 1秒,则字符串应该匹配.如何限制正则表达式中的字符外观?

例子:

  • 01101101 是正确的
  • 01111100 是正确的
  • 10110011 是正确的
  • 01111110 是错的
  • 11111110 是错的

bun*_*nji 7

^0*(?:10*){,5}$
Run Code Online (Sandbox Code Playgroud)

本质上,它匹配'1's和'0's的任何组合,但只允许包含单个'1'字符的子字符串最多出现五次.

试试这里:https: //regex101.com/r/JKV1Uk/2

说明:

  • ^ 匹配字符串的开头

  • 0*匹配零或多个'0's

  • (?:10*){,5}匹配最多5 '1'秒,然后是任意数量的零

  • $ 匹配字符串的结尾