Добро пожаловать в нашу викторину “Регулярные выражения Java”! Регулярные выражения (RegEx) – это мощные шаблоны, используемые для сопоставления и работы с текстом в Java.
В этой статье мы представляем набор вопросов с несколькими вариантами ответов, чтобы проверить ваше понимание такого важного аспекта в программировании на языке Java, как регулярные выражения.
Для компиляции кода используйте свою IDE, онлайн Java Compiler IDE или любой другой аналог.
Ищете работу Junior QA? Тогда вам в наш телеграм канал QA Вакансии. Каждую неделю 7 лучших вакансий с телеграм контактом HR компании.
1. Что такое регулярное выражение?
a) Последовательность символов, формирующая шаблон
b) Специальный тип данных в Java
c) Язык программирования
d) Формат файла для хранения данных
Ответ:
a) Последовательность символов, формирующая шаблон
Объяснение:
Регулярное выражение – это последовательность символов, которая формирует шаблон, используемый для работы с текстом.
2. Какой класс используется для работы с регулярными выражениями в Java?
a) Pattern
b) Matcher
c) RegularExpression
d) Regex
Ответ:
a) Pattern
Объяснение:
Класс Pattern в Java используется для работы с регулярными выражениями. Он предоставляет методы для компиляции и сопоставления шаблонов со строками.
3. Каково назначение класса Pattern в регулярных выражениях Java?
a) Задание шаблона регулярного выражения
b) Сопоставление шаблона со строкой
c) Замена совпавших шаблонов указанной строкой
d) Разделение строки на основе шаблона
Ответ:
a) Задание шаблона регулярного выражения
Объяснение:
Класс Pattern используется для определения шаблона регулярного выражения. Он позволяет задать шаблон с помощью метасимволов, квантификаторов и классов символов.
4. Какой метод используется для компиляции шаблона регулярного выражения в объект Pattern?
a) compile()
b) parse()
c) pattern()
d) regex()
Ответ:
a) compile()
Объяснение:
Скомпилировать шаблон регулярного выражения в объект Pattern можно с помощью метода compile()
.
5. Какой квантификатор используется для указания нулевого или одного вхождения символа в RegEx?
a) *
b) +
c) ?
d) {}
Ответ:
c) ?
Объяснение:
Для указания того, что символ входит в регулярное выражение ноль или один раз, используется квантификатор ?
.
6. Какой символ используется в качестве escape-символа в регулярных выражениях Java?
a) \
b) ^
c) $
d) #
Ответ:
a) \
Объяснение:
В качестве escape-символа в регулярных выражениях Java используется символ обратной косой черты\
. Он позволяет экранировать метасимволы и рассматривать их как литеральные символы.
7. Каково назначение класса Matcher в регулярных выражениях Java?
a) Указание шаблона регулярного выражения
b) Компиляция шаблона регулярного выражения
c) Сопоставление шаблона со строкой
d) Замена совпадений с шаблоном указанной строкой
Ответ:
c) Сопоставление шаблона со строкой
Класс Matcher
в регулярных выражениях Java используется для сопоставления шаблона со строкой. Он предоставляет методы для поиска, сопоставления и манипулирования текстом на основе заданного шаблона.
8. Какой метод используется для выполнения сопоставления шаблона со строкой с помощью объекта Matcher?
a) match()
b) find()
c) replaceAll()
d) split()
Ответ:
b) find()
Объяснение:
Метод find()
используется для выполнения поиска шаблона в строке с помощью объекта Matcher. Он находит все последующие вхождения шаблона в строку.
9. Какой метод используется для поиска очередного вхождения шаблона в строку с помощью объекта Matcher?
a) next()
b) match()
c) find()
d) search()
Ответ:
c) find()
Объяснение:
Метод find() используется для поиска следующего вхождения шаблона в строку с помощью объекта Matcher. Он возвращает true, если совпадение найдено; в противном случае возвращается false.
10. Какой класс используется для представления группы символов в квадратных скобках в регулярном выражении?
a) CharacterGroup
b) CharacterSet
c) CharGroup
d) [a-zA-Z]
Ответ:
b) CharacterSet
Объяснение:
Для представления группы символов в регулярном выражении используетсяCharacterSet
. Он позволяет указать диапазон или набор символов.
11. Каков вывод данного фрагмента кода?
import java.util.regex.*; public class RegexQuiz { public static void main(String[] args) { String regex = "\\d+"; String input = "1234"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); while (matcher.find()) { System.out.print(matcher.group() + " "); } } }
a) 1
b) 1234
c) 123456789
d) Compile-time error
Ответ:
b) 1234
Объяснение:
Используется шаблон "\\d+"
, который соответствует одной или нескольким цифрам. Поскольку входная строка “1234” состоит только из цифр, шаблон соответствует всей строке. Поэтому на выходе получится “1234”.
12. Каков вывод данного фрагмента кода?
import java.util.regex.*; public class RegexQuiz { public static void main(String[] args) { String regex = "[a-c]"; String input = "abcABC"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); while (matcher.find()) { System.out.print(matcher.group() + " "); } } }
a) a b c
b) A B C
c) a b c A B C
d) Compile-time error
Ответ:
a) a b c
Объяснение:
Шаблон "[a-c]"
определяет любой символ между “a” и “c” (включительно) с учетом регистра. Во входной строке “abcABC” он встречает символы “a”, “b” и “c” и выводит их на печать.
Заключение
Поздравляем вас с прохождением викторины “Регулярные выражения в Java”! Мы надеемся, что вы получили удовольствие от проверки своих знаний о регулярных выражениях.
Перевод статьи «Java Regex Quiz – MCQ – Multiple Choice Questions».