2011-02-18 12 views

Respuesta

12

si tiene que ser exactamente 8 (no más/menos), el uso esto:

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

Si no desea hacer coincidir algo así como "abc01010101xyz", utilice la siguiente:

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

Si desea hacer coincidir todas las cadenas de 8 bits en cualquier parte de la entrada, utilice la siguiente:

@"[01]{8}" 

en cuenta que si usted alimenta el último modelo de insumo como 1111111100000000, vas a obtener un resultado establecer como:

11111111 
11111110 
11111100 
11111000 
... 
00000000 
+0

+1 para la primera variante. – Tomalak

+0

Gracias por la aclaración adicional, ¡incluso cuando no sabía que la necesitaba todavía! –

+1

Creo que quisiste decir '(?

17

Eso sería éste

[01]{8} 

Este [0-1] no es técnicamente incorrecto, pero "0-1" es apenas un rango, lo que puede caer el tablero.

+3

WTF ?! 10 votos positivos para una respuesta de dos líneas en menos de 30 segundos. Algo está seriamente roto con el sistema de votación de SO. – Tomalak

+1

@Tomalak: Te rechazaré si quieres ... :-) – CanSpice

+1

@CanSpice No es necesario. Pero es una tendencia clara que la respuesta reflexiva y más larga no recibe casi tanta atención como la de dos líneas sin sentido. – Tomalak

5

Creo que [01]{8} debería hacerlo.

5
[01]{8} 

Si desea hacer coincidir exactamente 8 ceros o unos (es decir 101010101 no coincidirán), entonces:

\b[01]{8}\b 
Cuestiones relacionadas