Мне нужно проверить указанный c набор специальных символов: \$
или \,
присутствует в строке. Пример;
1) \\ghg$ : invalid
2) \\ghg\\$ : valid
3) ghg$ : invalid
4) \\ghg\\,$ : invalid. Here $ is not escaped
5) ghg\\,\\$ : valid
Ниже приведен код,
private static void regexValidation(String text, String pattern) {
System.out.println(text + " and pattern " + pattern + " used" + ":" + text.matches(pattern) + " with pattern "
+ Pattern.compile(pattern).matcher(text).matches() + " with find "
+ Pattern.compile(pattern).matcher(text).find());
}
Использовался шаблон pattern = ".*\\$.*";
, который не дал ожидаемого результата. Использовал ".*\\B\\$\\B.*"
, но это также не помогло в 4-м случае. Есть ли способ в java, чтобы мы могли отфильтровать специальный набор символов?