Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

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

Auteur Topic: Java regex vraagje  (gelezen 877 keer)

Offline axelv

  • Lid
  • Steunpunt: Nee
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 »

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
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
  • Steunpunt: Nee
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!