Регулярное выражение для замены "[" и "]" - PullRequest
0 голосов
/ 11 апреля 2011

Я хочу, чтобы регулярный эксперимент по Java заменил "[" и "]".компилятор выдает ошибку, потому что [это синтаксис регулярного выражения.что мне делать?

Ответы [ 4 ]

5 голосов
/ 11 апреля 2011

Вам просто нужно экранировать специальные символы - \[ и \].Это относится и ко всем специальным символам.

1 голос
/ 11 апреля 2011

Вы можете сделать:

String s = ...
s = s.replaceAll("\\[|]", "");

или:

s = s.replaceAll("[[\\]]", "");

или замену без регулярных выражений (поэтому экранирование не требуется):

s = s.replace("[", "").replace("]", "");

объяснение регулярных выражений (первые 2 примера):

1: \\[|]

\\[    # match `[`
|      # OR
]      # match ']'

2: [[\\]]

[      # start character class
  [    # match '[', or
  \\]  # match ']'
]      # end character class
1 голос
/ 11 апреля 2011

обратная косая черта! для любого символа, имеющего особое значение, перед ним ставится обратный слеш, соответствующий буквальному символу.

Pattern = Pattern.compile("\\[\\]"); 

(обратите внимание, что, поскольку это Java, вам нужно две обратные косые черты, чтобы соответствовать одному символу обратной косой черты).

0 голосов
/ 11 апреля 2011

Обычно вы можете экранировать специальные символы с обратной косой чертой

\ [

или

\]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...