描述二进制数的正则表达式

alo*_*oha 3 regex binary

我想要一个正则表达式来描述所有二进制数(仅由0和1组成)。

所以它应该适用于 100 0 101001 11 000,但不适用于 hello1001and011 中的 1 和 0 部分。它实际上应该只匹配所有数字。

我想写 ^(0|1)(0|1)*(0|1)$ 来标记它应该以零或一开始和结束,中间可以是任意多个 0 和 1 但它没有不匹配任何东西。

在我的讲座中,我们只看到了类似 | 的操作。, + , * , ^ , $ , . ,以及 \d 和 \w。

有人可以帮我找到我的错误/给我一个有效的正则表达式吗?

Kir*_*huk 5

您可以简单地使用单词边界\b

\b[01]+\b
Run Code Online (Sandbox Code Playgroud)

在正则表达式中,您使用^(行或文本的开头)和$(行或文本的结尾),这意味着它尝试匹配整个字符串,而不是匹配单独的单词/数字。