Задачи о регулярных выражениях

  1. Дана строка, проверьте, что в ней содержится корректный email адрес.
    1. Будем считать, что корректный email состоит из имени пользователя (одна или более латинских букв в нижнем регистре), далее следует символ @, далее идет домен (тоже одна или больше латинских букв в нижнем регистре), в конце должна быть точка и от двух до четырех латинских букв в нижнем регистре. Т.е. конец должен выглядеть как .com, .ru и т.п. Помните, что обычная точка означает любой символ, и ее может понадобиться экранировать.
    2. В условиях предыдущей задачи расширьте допустимые символы для имени пользователя и первой части домена (до точки). Разрешите использовать знак минуса, подчеркивания, цифры.
    3. Используйте регулярное выражение с сайта emailregexr.com
  2. Дана строка с текстом на русском языке. В тексте встречаются указания времени в виде «две цифры, двоеточие, две цифры». Найдите и распечатайте (т.е. сделайте void функцию) все такие указания времени, и рядом с каждым распечатайте, соответствует ли оно корректному указанию времени, т.е., например, не равно 25:77.
  3. Дана строка с текстом на русском языке, в которой автор неправильно расставил пробелы перед запятыми. Например, Это строка , у которой зачем-то написаны два пробела перед запятой. Нужно найти все пробельные символы перед запятыми и удалить их. Должно получиться Это строка, у которой зачем-то написаны два пробела перед запятой. Используйте метод replaceAll() класса String.
  4. Дана строка. Найдите в ней все слова, написанные через дефис и поменяйте две половинки этих слов местами. Например, строка “Какая-то сине-зеленовая трава” должна превратиться в “то-Какая зеленовая-сине трава”. Используйте метод replaceAll класса String и $ для ссылки на группы.
  5. Дана строка. Посчитайте, сколько раз в ней встречаются символы “кот”, в произвольном регистре. Т.е. Кот и КОТ тоже надо считать.
    • А если надо искать слово “кот”, т.е. не считать, например, слово “который”? Попробуйте один из способов указать, что “кот” должно быть частью другого слова: вы можете использовать специальный символ «граница слова», который надо найти в документации к классу Pattern, или символы $, ^, \s.
  6. Дан текст, заменить все вхождения чисел (последовательности цифр, возможно, начинающейся на -) на такие же числа, увеличенные на 1. Например, текст У меня 2 яблока и -4 банана должен превратиться в У меня 3 яблока и -3 банана.