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?
99
Que tal usar a barra invertida \
na frente do colchete. Normalmente, os colchetes correspondem a uma classe de caractere.
Experimente usar
\\[
, ou simplesmente\[
.fonte
Se você deseja corresponder a uma expressão começando com
[
e terminando com]
, use\[[^\]]*\]
.fonte
Você está fugindo disso
\
?/\[/
Este é um recurso útil para começar a usar expressões regulares:
Regular-Expressions.info
fonte
Em geral, quando você precisa de um caractere que é "especial" em regexes, basta prefixá-lo com um
\
. Portanto, um literal[
seria\[
.fonte
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:/[\[\]]/
fonte
[[\]]
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.funciona com um antislash antes do
[
?\[
ou\\[
?fonte
Se você deseja remover a
[
ou a]
, use a expressão:"\\[|\\]"
.As duas barras invertidas escapam do colchete e o tubo é um "ou".
fonte