Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Java regex vraagje  (gelezen 1182 keer)

Offline axelv

  • Lid
Java regex vraagje
« Gepost op: 2012/03/21, 16:30:01 »
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  >:(
« Laatst bewerkt op: 2012/03/21, 17:49:32 door axelv »

Re: Java regex vraagje
« Reactie #1 Gepost op: 2012/03/21, 20:03:27 »
Hppz, probeer eens "^[a-zA-Z\'][a-zA-Z0-9_\'\"]*$" als pattern?
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline axelv

  • Lid
Re: Java regex vraagje
« Reactie #2 Gepost op: 2012/03/21, 20:45:03 »
String pattern = "^[a-zA-Z\'][a-zA-Z0-9_\'\" ]*$"; werkt wel. Ik was blijkbaar vergeten dat er ook spaties in mochten =D.

Heel erg bedankt!