Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpRgSHt 70 of 322 menu
◀ ▶

Символ шляпки внутри наборов в Java

Как вы знаете, шляпка внутри [ ] делает отрицание, будучи написанной в начале скобок. Значит, она является спецсимволом внутри этих скобок. Чтобы получить шляпку как символ, нужно или заэкранировать ее, или убрать с первого места.

В следующем примере шаблон поиска такой: первый символ - это все кроме 'd', потом две буквы 'x':

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String txt = "axx bxx ^xx dxx"; Pattern pattern = Pattern.compile("[^d]xx"); Matcher matcher = pattern.matcher(txt); String res = matcher.replaceAll("!"); System.out.println(res); } }

В результате в переменную запишется следующее:

"! ! ! dxx"

А теперь шаблон поиска такой: первый символ - это 'd' или '^', потом две буквы 'x':

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String txt = "axx bxx ^xx dxx"; Pattern pattern = Pattern.compile("[d^]xx"); Matcher matcher = pattern.matcher(txt); String res = matcher.replaceAll("!"); System.out.println(res); } }

В результате в переменную запишется следующее:

"axx bxx ! !"

Можно не убирать шляпку с первого места, а просто заэкранировать ее с использованием обратного слеша, и она станет обозначать саму себя:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String txt = "axx bxx ^xx dxx"; Pattern pattern = Pattern.compile("[\\^d]xx"); Matcher matcher = pattern.matcher(txt); String res = matcher.replaceAll("!"); System.out.println(res); } }

В результате в переменную запишется следующее:

"axx bxx ! !"

Дана строка:

public class Main { public static void main(String[] args) { String txt = "^xx axx ^zz bkk @ss"; } }

Напишите регулярку, которая найдет строки по шаблону: шляпка или собака, а затем две латинских буквы.

Дана строка:

public class Main { public static void main(String[] args) { String txt = "^xx axx ^zz bkk @ss"; } }

Напишите регулярку, которая найдет строки по шаблону: НЕ шляпка и не собака, а затем две латинских буквы.

Дана строка:

public class Main { public static void main(String[] args) { String txt = "^xx axx ^zz bkk"; } }

Напишите регулярку, которая найдет строки по шаблону: не шляпка и не пробел, а затем две латинских буквы.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить