Java не нуждается / не понимает разделители регулярных выражений (/
вокруг регулярного выражения). Вам необходимо удалить их:
String pattern = ".*"+input+".*";
Я также не уверен, что это регулярное выражение действительно то, что вы хотите. По крайней мере, вы должны закрепить это:
String pattern = "^.*"+input+".*$";
и скомпилируйте его, используя параметр Pattern.MULTILINE
. Это позволяет избежать серьезного снижения производительности, если строка не содержит вашего под-регулярного выражения input
. Вы знаете, что input
является регулярным выражением, а не дословной строкой, верно?