Beste forumleden
Ik moet voor school een programma maken, maar zit met een probleempje. Ik moet een beschrijving vergelijken met een bepaald patroon.
De eerste letter van de beschrijving moet een letter (a-z of A-Z) zijn of kan een single quote zijn.
De overige letters mogen een letter (a-z of A-Z), een getal (0-9), quotes, dubbel quotes of een underscore zijn.
De bedoeling is dat er via een boolean methode wordt gecontroleerd of de beschrijving wel degelijk overeenstemt met het patroon. Nu heb ik zelf het patroon kunnen vinden, maar hij returned true in sommige gevallen omdat hij het patroon in de beschrijving vindt, maar niet vanaf de eerste letter.
Mijn vraagje is nu hoe je er voor zorgen dat er vanaf de eerste letter wordt gecontroleerd, m.a.w. als de eerste letter geen letter of single quote is?
Dit is de code die ik momenteel heb:
public boolean isValidDescription(String description) {
String pattern = ("[a-zA-Z'][a-zA-Z0-9_'\"]*");
return description.matches(pattern);
}
Alle hulp is welkom
EDIT: patroon lijkt ook niet meer niet te matchen:
public class PatternTester {
public static void main(String[] args) {
String description = "First Appointment";
String description2 = "2nd Appointment";
String pattern = ("[a-zA-Z'][a-zA-Z0-9_'\"]*");
if (description.matches(pattern))
System.out.println("Description matches pattern");
else
System.out.println("Description doens't match pattern");
if (description2.matches(pattern))
System.out.println("Description matches pattern");
else
System.out.println("Description doesn't match pattern");
}
}
Geeft als output tweemaal doesn't match.... hmm