正则表达式:二进制字符串,其长度是3的倍数?

时间:2014-03-18 22:42:23

标签: regex

如何为二进制字符串编写正则表达式,使其长度为3的倍数,并且必须包含空字符串。 所以举个例子 010是真的 0101是假的。

3 个答案:

答案 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