Спецсимволы-исключения внутри наборов в Java
Вы уже знаете, что спецсимволы внутри []
становятся обычными символами. Есть, однако,
исключения: если вам нужны квадратные
скобки как символы внутри [ ] - то
их нужно экранировать обратным слешем. Для
примера в следующем коде шаблон поиска
выглядит так: между иксами стоит
квадратная скобка:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String txt = "x]x xax x[x x1x";
Pattern pattern = Pattern.compile("x[\\[\\]]x");
Matcher matcher = pattern.matcher(txt);
String res = matcher.replaceAll("!");
System.out.println(res);
}
}
В результате в переменную запишется следующее:
"! xax ! x1x"
Дана строка:
public class Main {
public static void main(String[] args) {
String txt = "x[]z x[[]]z x()z";
}
}
Напишите регулярку, которая найдет все
слова по шаблону: буква 'x',
затем квадратные скобки любое количество
раз, затем буква 'z'.
Дана строка:
public class Main {
public static void main(String[] args) {
String txt = "x[]z x{}z x.z x()z x([])z";
}
}
Напишите регулярку, которая найдет все
слова по шаблону: буква 'x',
затем любое количество любых скобок, затем
буква 'z'.