繁体   English   中英

正则表达式,其中二进制数没有 1 和 0 直接跟随

[英]Regular expression where Binary numbers have no ones and zeros follow each other directly

您好,我正在尝试找到一个正则表达式,其中二进制数没有 1,而 0 直接相互跟随。 这是我的正则表达式:

public static boolean isBin2(String bin2) {
        Pattern regexBinary2 = Pattern.compile("(01*01)*");

        Matcher matcher = regexBinary2.matcher(bin2);
        return matcher.matches();
    }

这是我用于测试的字符串:“10101010”

表达式应该像这样检查:

10101010 --> 允许

10010101 --> 不允许

但是即使允许二进制数,这个表达式也总是返回 false,我找不到它的原因。 如果你能帮助我就好了。

这是一个不使用环顾四周的正则表达式:

^0?(10)*1?$

它表示有效输入以可选的 0 开头,后跟零个或多个10序列,最后可选地还有一个 1。

这也将匹配空输入。 如果应拒绝空输入,则添加\b

^\b0?(10)*1?$

将其放在字符串文字中时,请确保转义反斜杠:

    Pattern regexBinary2 = Pattern.compile("^\\b0?(10)*1?$");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM