Programmører ofte ønsker at sikre, at de data, brugerne vil indgå i deres programmer vil overholde specifikke formater eller normer. En dato post er et eksempel på en sådan indgang. Datoformater kan variere , afhængigt af region eller vane for brugeren . Hvis programmøren begrænser hvor en bruger kan indtaste en dato , hun derefter kan skabe et mønster -matching program, der kan læse strygere og afgøre, om de repræsenterer datoer. Den Pattern objekt i Java , sammen med Regular Expressions , kan gøre matchende datoer enkel og ligetil. Dato Function
For at begynde en funktion, der kontrollerer datoformater , skal programmøren overveje, hvilke formater til at acceptere. I denne diskussion , accepterer programmøren datoer med bindestreger ( " 00-00-0000 " ) og prikker ( " 00.00.0000 "). Udfordringen er altså at matche mønstre for datoer i begge disse formater . Først vil programmøren konstruere en klasse, der indeholder en " ISDATE " metoden, som accepterer en streng, der repræsenterer en dato : Hej
import java.util.regex.Pattern , import java.util.ArrayList ;
public class DateFinder {
public static boolean ISDATE (String dato) {
}}
Regular Expressions
regulære udtryk er strenge af tegn, der kan bruges til at matche mønstre i teksten. Mønstret "beskriver en søgestreng ", og giver mulighed for et regulært udtryk mønster Matcher at søge tekstlinjer for forekomster af mønstre . Den ISDATE Funktionen vil anvende regulære udtryk strenge at bestemme ordentlig datoformater . I det følgende eksempel er ISDATE funktionen udstyret med tre string variabler , der repræsenterer regulære udtryk mønstre svarende til passende dag , måned og år -formater : Hej
String dag = "( ( [12] \\ \\ d)