Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 可被8整除或奇数整除的二进制数的正则表达式_Regex - Fatal编程技术网

Regex 可被8整除或奇数整除的二进制数的正则表达式

Regex 可被8整除或奇数整除的二进制数的正则表达式,regex,Regex,“编写一个正则表达式,描述所有零字符串和表示奇数或可被8整除的二进制数的1。这些数字可能没有任何前导零。” 我的回答是(000 | 1)$,标记错误。我看不出原因。请解释!提前感谢。您忘记了其中两项要求 它只能包含1s和0s: ^[01]*(000|1)$ ^(?!0)[01]*(000|1)$ 可能没有前导0s: ^[01]*(000|1)$ ^(?!0)[01]*(000|1)$ 如果不允许使用lookahead,则会变得有点棘手: ^1[01]*(000|1)$|^1$ 另外

“编写一个正则表达式,描述所有零字符串和表示奇数或可被8整除的二进制数的1。这些数字可能没有任何前导零。”


我的回答是
(000 | 1)$
,标记错误。我看不出原因。请解释!提前感谢。

您忘记了其中两项要求

  • 它只能包含
    1
    s和
    0
    s:

    ^[01]*(000|1)$
    
    ^(?!0)[01]*(000|1)$
    
  • 可能没有前导
    0
    s:

    ^[01]*(000|1)$
    
    ^(?!0)[01]*(000|1)$
    
    如果不允许使用lookahead,则会变得有点棘手:

    ^1[01]*(000|1)$|^1$
    
  • 另外,如果只允许使用“理论”正则表达式(交替、分组和重复)中可用的正则表达式构造,则看起来是这样的(在本例中锚是隐式的):


    你忘记了两个要求

  • 它只能包含
    1
    s和
    0
    s:

    ^[01]*(000|1)$
    
    ^(?!0)[01]*(000|1)$
    
  • 可能没有前导
    0
    s:

    ^[01]*(000|1)$
    
    ^(?!0)[01]*(000|1)$
    
    如果不允许使用lookahead,则会变得有点棘手:

    ^1[01]*(000|1)$|^1$
    
  • 另外,如果只允许使用“理论”正则表达式(交替、分组和重复)中可用的正则表达式构造,则看起来是这样的(在本例中锚是隐式的):


    谢谢我完全没有意识到我在做一些不成文的假设。谢谢!我完全是在做不成文的假设而没有意识到。