2017-01-14 4 views
1

Для следующего метода toString.replaceAll, как работает параметр, чтобы он знал, что [ и ] будут заменены пустым? Что здесь означает \\? | поразрядный или, верно? почему логика или || не работает здесь?Как работает toString.replaceВсе работает на Java?

Arrays.toString(args).replaceAll("(\\[|\\])", "") 

Я уверен, что это глупый вопрос, но я просто не знаю ключевое слово для поиска.

спасибо!

+1

Ключевое слово является регулярным выражением. – Henry

+0

Не найдено ни одного ключевого слова. Просто прочитайте javadoc ['replaceAll()'] (https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#replaceAll-java.lang.String-java.lang .String-) и следуйте ссылке [регулярное выражение] (https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#sum). Короче говоря: ** Прочитайте документацию **. – Andreas

ответ

2

\\ представляет собой последовательность символов

| является регулярное выражение вкуса or оператор

нет в регулярном выражении не ||

(\\[|\\])() значит захватить группу

\\[ означает символ [, потому что в regex это [] означает список

и почему нам это нужно \\[

попробовать это, например, для ясности

System.out.println("absba687686[]".replaceAll("[a-z]", "")); 

\\[|\\] означает либо [ или ] характер

Eg регулярного выражения символов

[a-z] сопоставить все символы между а-г

| или состояние

() захвата группы

{} определяют диапазон

Oracle Regex info