Вместо того, чтобы думать о том, как только сопоставить строки, которые вы хотите использовать, используя Matcher.matches
или Matcher.find
, вы можете использовать String.replaceAll
, чтобы заменить строку, которая соответствует шаблону, на другую строку.
Вы можете использовать это регулярное выражение:
(?i)lower\(([^)]*)\)
с заменой $1
, чтобы сделать это:
String result = inputString.replaceAll("(?i)lower\\(([^)]*)\\)", "$1");
Регулярное выражение в основном соответствует регистру lower(
без учета чувствительности ((?i)
) и затем помещает все в скобках в группу 1 (([^)]*)
), затем оно соответствует закрывающей скобке.Замена $1
означает замену на то, что входит в группу 1. Это означает, что lower(Type)
будет заменено на Type
.