Regex probleem
Hallo,
Ik doe al tijden hard mijn best om regex onder de knie te krijgen, tot op heden gaat het nog niet zoals ik gehoopt had. Ik zit nu met een probleem en hoop dat jullie mij kunnen helpen.
Ik wil preg_match gebruiken met de regex die controleert of de waarde alleen abc is, hoge komma, spatie of een streepje bevat. Helaas krijg ik steeds een foutmelding. Wanneer ik dan van de string de ' weg haal doet die het wel.
Dit is mijn regex:
$regex = "/^([a-zA-Z '-]+)$/";
Wat doe ik fout?
Ik doe al tijden hard mijn best om regex onder de knie te krijgen, tot op heden gaat het nog niet zoals ik gehoopt had. Ik zit nu met een probleem en hoop dat jullie mij kunnen helpen.
Ik wil preg_match gebruiken met de regex die controleert of de waarde alleen abc is, hoge komma, spatie of een streepje bevat. Helaas krijg ik steeds een foutmelding. Wanneer ik dan van de string de ' weg haal doet die het wel.
Dit is mijn regex:
$regex = "/^([a-zA-Z '-]+)$/";
Wat doe ik fout?
Gesponsorde koppelingen:
Bump
Ik zou er geen capture group van maken (dus die () weglaten. Verder doe je range's maken, namelijk van a tot z en van A tot Z, een spatie een apostof en een fout, aangezien een streepje (-) aangeeft dat je een range wilt. Die moet je dus escapen met \.
Je kunt je regex testen met:
http://gskinner.com/RegExr/
Je kunt je regex testen met:
http://gskinner.com/RegExr/
Gewijzigd op 01/01/1970 01:00:00 door Karl Karl
Dit zou moeten werken:
$regex = "/^[a-zA-Z\s'\-]+$/";
$regex = "/^[a-zA-Z\s'\-]+$/";
Karl bedankt voor je duidelijke uitleg! Hier leer ik van;-)
GaMer13, bedankt voor je wijzigingen!:D maar hij werkt nog niet:$
Als ik bijvoorbeeld de volgende input geef: 't Veld
Dan krijg ik false terug. Accepteert deze regex nu ook spaties?
GaMer13, bedankt voor je wijzigingen!:D maar hij werkt nog niet:$
Als ik bijvoorbeeld de volgende input geef: 't Veld
Dan krijg ik false terug. Accepteert deze regex nu ook spaties?
Zo werkt ie wel:
$regex = "/[a-zA-Z\s'\-]+/";
Deze regex matcht: 't Veld
Overigens: \s staat voor 'spatie'.
$regex = "/[a-zA-Z\s'\-]+/";
Deze regex matcht: 't Veld
Overigens: \s staat voor 'spatie'.
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
Als ik al kudo's kon geven had ik het gedaan:) dankje voor \s uitleg, weer wat geleerd;)



