Qual é a expressão regular que corresponde a um colchete?


99

Quero um regex que corresponda a um colchete [. Eu não encontrei um ainda. Acho que tentei todas as possibilidades, mas não encontrei a certa. O que é uma regex válida para isso?

Respostas:


112

Que tal usar a barra invertida \na frente do colchete. Normalmente, os colchetes correspondem a uma classe de caractere.


20
Caso você esteja tentando escrever esta regex em C #, você deve usar \\ na frente do colchete.
Shrewdroid

4
Na verdade, não sei onde funciona e por que a resposta recebeu uma classificação tão alta.
Vitali Pom

46

Experimente usar \\[, ou simplesmente \[.


16

Se você deseja corresponder a uma expressão começando com [e terminando com ], use \[[^\]]*\].



6

Em geral, quando você precisa de um caractere que é "especial" em regexes, basta prefixá-lo com um \. Portanto, um literal [seria \[.


5

Se você estiver olhando para encontrar ambas as variações dos colchetes, ao mesmo tempo, você pode usar o seguinte padrão que define uma gama de tanto o [sinal ou o ]sinal:/[\[\]]/


1
Você pode omitir a primeira barra invertida. [[\]]corresponderá a qualquer um dos colchetes. Em alguns dialetos regex (por exemplo, grep), você pode omitir a barra invertida antes do ]se você colocá-lo imediatamente após a [(porque uma classe de caracteres vazia nunca seria útil): [][]. Mas isso não funciona em Java ou JavaScript.
cayhorstmann

3

funciona com um antislash antes do [?

\[ou \\[?


1

Se você deseja remover a [ou a ], use a expressão: "\\[|\\]".

As duas barras invertidas escapam do colchete e o tubo é um "ou".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.