programmerere ofte ønsker å sikre at data brukere vil gå inn i sine programmer vil følge spesifikke formater eller standarder . En dato oppføringen er et eksempel på et slikt innspill . Datoformatene kan variere , avhengig av region eller vane for brukeren. Hvis programmereren begrenser hvor en bruker kan skrive inn en dato , hun deretter kan lage et mønster - matching program som kan lese strenger og avgjøre om de representerer datoer. The Pattern objekt i Java , sammen med Regular Expressions , kan gjøre matchende datoer enkel og grei. Dato funksjon
å begynne en funksjon som sjekker datoformatene , må programmereren vurdere hvilke formater å akseptere. I denne diskusjonen , godtar programmerer datoer med bindestrek ( " 00-00-0000 ") og prikker ( " 00.00.0000 ") . Utfordringen er altså å matche mønstre for datoer i begge disse formatene . Først vil programmereren konstruere en klasse som inneholder en " isDate "-metoden , som aksepterer en streng som representerer en dato :
import java.util.regex.Pattern , import java.util.ArrayList ;
public class DateFinder {
public static boolean isDate (String dato) {
} }
Regular Expressions
regulære uttrykk er strenger av tegn som kan brukes til å matche mønstre i teksten . Mønsteret "beskriver en søkestreng ", og gjør et regulært uttrykk mønster matcher for å søke linjer med tekst for forekomster av mønstre . Den isDate funksjonen vil bruke regulære uttrykk strenger å bestemme riktig dato formater. I følgende eksempel er isDate funksjonen utstyrt med tre strengvariabler representerer regulære uttrykk mønstre som tilsvarer riktig dag, måned og år formater : en
String dag = " ( ( [ 12 ] \\ \\ d )