如何构建正则表达式(C#)来标识八个1和0的字符串

Dou*_* S. 8 c# regex

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

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

Tom*_*lak 17

那就是这个

[01]{8}
Run Code Online (Sandbox Code Playgroud)

[0-1]在技​​术上不是错误的,但"0-1"几乎不是一个范围,所以你可以放下破折号.

  • WTF?在不到30秒的时间内,10个投票可获得两个班轮答案.SO的投票系统严重破坏了某些东西. (3认同)

Jus*_*gan 11

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

@"(?<![01])([01]{8})(?![01])"
Run Code Online (Sandbox Code Playgroud)

如果您不想匹配"abc01010101xyz"之类的内容,请使用以下命令:

@"\b[01]{8}\b"
Run Code Online (Sandbox Code Playgroud)

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

@"[01]{8}"
Run Code Online (Sandbox Code Playgroud)

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

11111111
11111110
11111100
11111000
...
00000000
Run Code Online (Sandbox Code Playgroud)


Mar*_*ius 5

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


Can*_*ice 5

[01]{8}
Run Code Online (Sandbox Code Playgroud)

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

\b[01]{8}\b
Run Code Online (Sandbox Code Playgroud)