Спецсимволы внутри наборов в Java
Спецсимволы внутри [ ] становятся
обычными символами. Это значит, что их не
надо экранировать обратным слешем.
В данном примере шаблон поиска выглядит
так: между иксами любая буква 'a',
'b', 'c', либо точка:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String txt = "xax xbx xcx xdx x.x x@x";
Pattern pattern = Pattern.compile("x[abc.]x");
Matcher matcher = pattern.matcher(txt);
String res = matcher.replaceAll("!");
System.out.println(res);
}
}
Результат выполнения кода:
"! ! ! xdx ! x@x"
В данном примере шаблон поиска выглядит так: между иксами любая маленькая латинская буква или точка:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String txt = "xax xbx xcx x@x";
Pattern pattern = Pattern.compile("x[a-z.]x");
Matcher matcher = pattern.matcher(txt);
String res = matcher.replaceAll("!");
System.out.println(res);
}
}
Результат выполнения кода:
"! ! ! x@x"
Дана строка:
public class Main {
public static void main(String[] args) {
String txt = "aba aea aca aza axa a.a a+a a*a";
}
}
Напишите регулярку, которая найдет строки
'a.a', 'a+a', 'a*a',
не затронув остальных.
Дана строка:
public class Main {
public static void main(String[] args) {
String txt = "xaz x.z x3z x@z x$z xrz";
}
}
Напишите регулярку, которая найдет строки
по шаблону: буква 'x', затем НЕ
точка, НЕ собака, и НЕ доллар, а потом
буква 'z'.