Это очень похоже на домашнюю работу, которую я не хочу делать для вас. Но я добавлю сюда кое-что, что, надеюсь, поможет вам разобраться.
Ваше регулярное выражение не будет соответствовать тому, что вы хотите. (.)
будет захватывать один символ, и он не будет захватывать символы новой строки. Так что тебе придется это исправить. +
соответствует одному или нескольким из предыдущего набора символов, а *
соответствует нулю или более из предыдущего символа. Похоже, вы также хотите убедиться, что вы соответствуете от $
до $
. Вы работаете внутри строк Java, поэтому вам нужно избегать этого.
Попробуйте что-то вроде этого для своего регулярного выражения:
final String pattern = "hhh me \\$([a-zA-Z\\s\n\r]*)\\$";
Затем в Eclipse или в Java Docs ищите в классе Matcher
некоторые полезные методы для поиска / замены найденных совпадений (материал внутри ()
в регулярном выражении).
Может быть, что-то вроде Matcher.replaceFirst()
поможет.