У меня есть входные строки, содержащие эти специальные символы в любом порядке: *
.
и \n
Java регулярного выражения для соответствия конкретных специальных символов
Я хочу, чтобы убедиться, что нет никаких других символов в строке и \n
всегда должно быть вместе, а не что-то вроде *.*..\..n
, поэтому я хочу, чтобы строка соответствовала строке в Java, используя регулярное выражение.
Я попытался с помощью регулярного выражения для определения, если входная строка соответствует шаблону, как показано ниже:
String input = "*.*.*.\n..";
System.out.println(input.matches("[\\\\.*\\n]"));
Тем не менее, выходной сигнал является ложным.
Я попытался использовать двойные escape-символы, чтобы иметь дело с использованием символов escape-символов Java, но результат не так, как ожидалось.
К сожалению, вы имеете в виду ваш вход должен содержать только символ '*' '. 'и * newline * символы? Или '*', '.',' '' '' и 'n'? Если у вас есть символы новой строки, вам нужно что-то вроде 'input.matches (" [. * \ N] * ")' или 'input.matches (" [. * \ N] + ")' (если не менее 1 символ требуется на входе). –
@Wiktor Отлично, это сработало для меня, спасибо! Да, я имел в виду символы * newline *. 'Input.matches (" [. * \ N] * ")' - это то, что я хотел, поскольку мне не нужен символ atleast 1. Для полноты в Java это будет 'input.matches (" [. * \\ n] * ")'. – ccoder83
В Java достаточно написать 'input.matches (" [. * \ N] * ")'. Во всяком случае, он уже опубликован –