如何构建一个正则表达式(C#)来识别一个八个1&的字符串。 0的

时间:2011-02-18 20:06:52

标签: c# regex

我正在尝试构建一个正则表达式来确定字符串是否包含二进制数字的字节,例如。 10010011

我相信[0-1] [0-1] [0-1] [0-1] [0-1] [0-1] [0-1] [0-1]会起作用,但是我确信这是一种更有效的方式,并且是正则表达式的新手,我不确定那是什么。

4 个答案:

答案 0 :(得分:17)

那就是这个

[01]{8}

这个[0-1]在技术上并不错,但“0-1”几乎不是一个范围,所以你可以放下破折号。

答案 1 :(得分:12)

如果需要精确到8(不多于/少),请使用:

@"(?<![01])([01]{8})(?![01])"

如果您不想匹配“abc01010101xyz”之类的内容,请使用:

@"\b[01]{8}\b"

如果要匹配输入中任何位置的所有8位字符串,请使用:

@"[01]{8}"

请注意,如果您向最后一个模式提供1111111100000000之类的输入,那么您将获得如下结果集:

11111111
11111110
11111100
11111000
...
00000000

答案 2 :(得分:5)

我相信[01]{8}应该这样做。

答案 3 :(得分:5)

[01]{8}

如果你想准确匹配8个零或一个(即101010101不匹配),那么:

\b[01]{8}\b