Regex 可被8整除或奇数整除的二进制数的正则表达式
“编写一个正则表达式,描述所有零字符串和表示奇数或可被8整除的二进制数的1。这些数字可能没有任何前导零。”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$ 另外
我的回答是
(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$
谢谢我完全没有意识到我在做一些不成文的假设。谢谢!我完全是在做不成文的假设而没有意识到。