English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Класс java.util.regex.Matcher представляет движок для выполнения различных операций соответствия. Этот класс не имеет конструктора, и его можно использоватьmatches()
Метод класса java.util.regex.Pattern создает/получает объект этого класса.
Привязка границ используется для области соответствия, например ^ и $. По умолчанию, матчер использует привязку границ.
классметодаuseAnchoringBounds()Метод принимает булево значение, если передать true этому методу, то текущий матчер будет использовать диапазон привязки; если передать false, то будет использоваться нефиксированный диапазон.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Trail { public static void main( String args[] ) { //Чтение строки Scanner sc = new Scanner(System.in); System.out.println("Введите строку ввода"); String input = sc.nextLine(); //Регулярное выражение для поиска чисел String regex = ".*\\d+.*"; //Скомпилировать регулярное выражение Pattern pattern = Pattern.compile(regex); //Печать регулярного выражения System.out.println("Скомпилированное регулярное выражение: " + pattern.toString()); //Искать объект матчера Matcher matcher = pattern.matcher(input); matcher.useAnchoringBounds(false); boolean hasBounds = matcher.hasAnchoringBounds(); if(hasBounds) { System.out.println("Текущий матчер использует фиксированные границы"); } System.out.println("Текущий матчер использует нефиксированные границы"); } } }
Вывод результатов
Введите строку ввода Пример Скомпилированное регулярное выражение: .*\d+.* Текущий матчер использует нефиксированные границы
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Sample { public static void main( String args[] ) { String regex = "^<foo>.*"; String input = "<foo><bar>";//Hi</i></br> welcome to w3codebox"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); matcher = matcher.useAnchoringBounds(false); if(matcher.matches()) { System.out.println("Match found"); } System.out.println("Match not found"); } System.out.println("Has anchoring bounds: " + matcher.hasAnchoringBounds()); } }
Вывод результатов
Match found Has anchoring bounds: false