如何为二进制字符串编写正则表达式,使其长度为3的倍数,并且必须包含空字符串。 所以举个例子 010是真的 0101是假的。
答案 0 :(得分:7)
将你的正则表达式包含在^
$
中,以便它在整个字符串上执行匹配。
^([01]{3})*$
答案 1 :(得分:4)
以下内容应该有效:
^(?:[01]{3})*$
编辑:非捕获组以进行优化。
答案 2 :(得分:3)
以下是我的建议:
^(?:[01]{3})*$
它匹配您需要的模式,但不会捕获括号中的组。
说明:
^ // matches beginning of the string
(?: // opens a non-capturing group
[01] // a symbol class, which could only contain 0's or 1's
{3} // repeat exactly three times
) // closes the previously opened group
* // repeat [0, infinity] times
$ // matches the end of the string