我想要一个正则表达式来描述所有二进制数(仅由0和1组成)。
所以它应该适用于 100 0 101001 11 000,但不适用于 hello1001and011 中的 1 和 0 部分。它实际上应该只匹配所有数字。
我想写 ^(0|1)(0|1)*(0|1)$ 来标记它应该以零或一开始和结束,中间可以是任意多个 0 和 1 但它没有不匹配任何东西。
在我的讲座中,我们只看到了类似 | 的操作。, + , * , ^ , $ , . ,以及 \d 和 \w。
有人可以帮我找到我的错误/给我一个有效的正则表达式吗?
您可以简单地使用单词边界\b
:
\b[01]+\b
Run Code Online (Sandbox Code Playgroud)
在正则表达式中,您使用^
(行或文本的开头)和$
(行或文本的结尾),这意味着它尝试匹配整个字符串,而不是匹配单独的单词/数字。