¿Cuál es la expresión regular que coincide con un corchete?

95

Quiero una expresión regular que coincida con un corchete [. Aún no he encontrado ninguno. Creo que probé todas las posibilidades, pero no encontré la correcta. ¿Qué es una expresión regular válida para esto?

Alfre2
fuente

Respuestas:

111

¿Qué tal si se usa la barra invertida \delante del corchete? Normalmente, los corchetes coinciden con una clase de carácter.

Peter Stuifzand
fuente
20
En caso de que esté intentando escribir esta expresión regular en C #, debe usar \\ delante del corchete.
Shrewdroid
4
En realidad, no sé dónde funciona y por qué la respuesta recibió un rango tan alto.
Vitali Pom
45

Intente usar \\[, o simplemente \[.

dfa
fuente
15

Si desea hacer coincidir una expresión que comience [y termine con ], use \[[^\]]*\].

Matt Roy
fuente
6

En general, cuando necesite un carácter que sea "especial" en las expresiones regulares, simplemente antepóngalo con un \. Entonces un literal [sería \[.

Zifre
fuente
5

Si usted está buscando para encontrar tanto las variaciones de los corchetes, al mismo tiempo, puede utilizar el siguiente patrón que define una serie de bien la [señal o la ]señal:/[\[\]]/

Jaytop
fuente
Puede omitir la primera barra invertida. [[\]]coincidirá con cualquier soporte. En algunos dialectos de expresiones regulares (por ejemplo, grep) se puede omitir la barra invertida antes de ]si se coloca inmediatamente después de la [(debido a una clase de caracteres vacía nunca sería útil): [][]. Pero eso no funciona en Java o JavaScript.
Cayhorstmann
3

¿Funciona con un antislash antes del [?

\[o \\[?

Pierre
fuente
1

Si desea eliminar el [o el ], use la expresión: "\\[|\\]" .

Las dos barras diagonales inversas escapan del corchete y el tubo es un "o".

Manish Kumar
fuente