![](/img/trans.png)
[英]Java program that converts binary numbers to decimal numbers. The input is a string of zeros and ones
[英]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.