匹配包含不应全为零的子集的二进制字符串

时间:2013-06-06 14:05:32

标签: regex

正如标题所述,我试图创建一个正则表达式,给定任意位置,匹配一个二进制字符串,其中包含一个不应该全为零(或至少为1)的子集,例如:

binary:   100101
          -------
position: 123456

当任意位置为123时,则匹配返回true,因为第一个是1;
当任意位置为235时,则匹配返回false,因为它们都不是1;
当任意位置为236时,则匹配返回true,因为最后一个是1;

我知道一些正则表达式,但我真的不知道如何处理这个问题。任何帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:4)

假设您的字符串只能包含1和0,请反转测试。构造一个在每个任意位置匹配零的正则表达式,然后测试它不匹配。

对于每个位置,在该索引处存储“0”。否则,'。'允许任何角色。

例如:

235 -> .00.0.

然后测试不匹配:

.00.0. matches '100101'

所以235将是false