Тема: Рядки та регулярні вирази
1. Написати програму , яка б виконувала обробку
тексту та перевіряла рядок на відповідність регулярному виразу.
2. Передбачити введення тексту та рядків із клавіатури.
З тексту видалити усі символи, окрім пропусків, які не є буквами.
Написати регулярний вираз, який би перевіряв чи є введений рядок датою у
форматі dd/mm/yyyy починаючи з 1600 року та закінчуючи 9999 роком.
- приклад правильного виразу: 29/02/2000, 30/04/2003, 01/01/2003.
- приклад неправильного виразу: 29/02/2001, 30-04-2003, 1/1/1899.
package src;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
Pattern pattern = Pattern.compile(", ");
System.out.print("Введіть рядок символів: ");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
String Str = new String(input);
System.out.println("Початковий рядок: " + Str);
StringBuffer sb = new StringBuffer(new Scanner(System.in).nextLine());
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) ==) {
sb.deleteCharAt(i);
i--;
}
}
System.out.println(sb.toString());
System.out.println();
String Str1 = new String(input);
String pattern = "MM/dd/yyyy";
DateFormat df = new SimpleDateFormat(pattern);
String strDate = df.format(date);
System.out.print("Введіть дату: ");
input = scanner.nextLine();
String[] arrDate = strDate.split("/");
int year = Integer.parseInt(arrDate[0]);
int month = Integer.parseInt(arrDate[1]);
int day = Integer.parseInt(arrDate[2]);
if (year > 10000 && year < 1600) {
System.out.println("Дата неправильна");
}
}
}