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

Флаги в строке шаблона в Java

В начале шаблона можно указать встроенные флаги в круглых скобках. Они действуют на все выражение. Часто встречаются (?i) (без учета регистра), (?m) (многострочный режим для "^" и "$") и (?s) (точка захватывает перевод строки).

Без флага шаблон [a-z]+ найдет только строчные буквы:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String txt = "aaa bbb CCC DDD"; Pattern pattern = Pattern.compile("[a-z]+"); Matcher matcher = pattern.matcher(txt); String res = matcher.replaceAll("!"); System.out.println(res); } }

С флагом (?i) буквы любого регистра попадут под шаблон:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String txt = "aaa AAA bbb BBB"; Pattern pattern = Pattern.compile("(?i)[a-z]+"); Matcher matcher = pattern.matcher(txt); String res = matcher.replaceAll("!"); System.out.println(res); } }

Точка без (?s) не совпадает с переводом строки. С флагом заменяются все символы:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String txt = "aaa\nbbb"; Pattern withoutFlagPattern = Pattern.compile("."); Matcher withoutFlagMatcher = withoutFlagPattern.matcher(txt); String without = withoutFlagMatcher.replaceAll("!"); Pattern withFlagPattern = Pattern.compile("(?s)."); Matcher withFlagMatcher = withFlagPattern.matcher(txt); String withFlag = withFlagMatcher.replaceAll("!"); System.out.println(without); System.out.println(withFlag); } }

Дана строка:

public class Main { public static void main(String[] args) { String txt = "Code CODE code"; } }

Замените каждое слово "code" на "*" без учета регистра и выведите строку в консоль.

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