Я новичок в регулярных выражениях и java, поэтому, пожалуйста, ответьте на мой вопрос для новичков.
Я хочу сделать следующее:
Если у меня есть строка:
"I like ice cream only if it is chocolate ice cream. Chocolate cream"
и шаблон типа
"chocolate ice cream"
Я хочу сопоставить и заменить все слова, совпадающие с #, окружающими их.Вот так:
"I like #ice cream# only if it is #chocolate ice cream#. #Cholcolate cream#"
Я использовал регулярное выражение Java Java, и я понимаю, что я могу использовать Matcher.replaceAll
.Но я не могу придумать правильное регулярное выражение.Я придумал это chocolate*\\s*ice*\\s*cream*
.Но проблема здесь в том, что он соответствует только всей подстроке, то есть "chocolate ice cream"
.Я думаю, что-то вроде этого может работать:
chocolate|ice|cream|chocolate ice|ice cream|chocolate cream|chocolate ice cream
и т. Д., Т.е. все перестановки, но это будет громоздко по мере роста подстроки.
Буду признателен за любые идеи о правильном направлении.