2013-07-13 2 views
0

От this Java API:Что они означают со следующим предложением:

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

Я получаю первый бит, но немного смущаюсь о части, выделенной жирным шрифтом. Что они означают, «чтобы избежать буквенных символов»? какие буквальные символы вы могли бы избежать в заменяющей строке?

Заранее спасибо.

+0

Доллар знаки. '' \\ $ "' – johnchen902

+0

@ johnchen902 почему они использовали множественное число? – Rollerball

+0

Не знаю, я плохо разбираюсь в грамматике. – johnchen902

ответ

3

Ну, $;)

public static void main(final String... args) 
{ 
    final Pattern p = Pattern.compile("one dollar"); 

    final String input = "I want one dollar, please"; 

    // IndexOutOfBoundsException: no group 1 
    System.out.println(p.matcher(input).replaceFirst("$1")); 
    // You need to escape the "$" 
    System.out.println(p.matcher(input).replaceFirst("\\$1")); 
} 
+0

Почему они использовали множественное число? «escape-символы»? – Rollerball

+0

Потому что вы можете иметь более одной '$' в заменяющей строке? Честно говоря, я не вижу, какие другие персонажи нуждаются в побеге ... – fge

+0

ok cool, вот что я хотел знать. – Rollerball

Смежные вопросы