Вы хотите получить этот текст в строку:
([A-Z][a-zA-Z]+)\s+\1
Однако \
в строковом литерале в исходном коде Java - это символ, используемый для экранирования (например, "\ t "для вкладки).Поэтому вам нужно использовать «\» в строковом литерале, чтобы в результате получить одну обратную косую черту в результирующей строке.Итак, вы хотите:
"([A-Z][a-zA-Z]+)\\s+\\1"
Обратите внимание, что для этого нет ничего специфичного для регулярных выражений. В любое время, когда вы хотите выразить строку, содержащую обратную косую черту, в строковом литерале Java, вам необходимо экранировать эту обратную косую черту.Регулярные выражения и имена файлов Windows - это наиболее распространенные случаи для этого.