Versio

Regex probleem

Overzicht Reageren

Wim Eikelboom

Wim Eikelboom

05/12/2009 00:46:00
Quote Anchor link
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?
 
PHP hulp

PHP hulp

25/05/2012 14:22:10
Gesponsorde koppelingen:
 
Wim Eikelboom

Wim Eikelboom

06/12/2009 16:36:00
Quote Anchor link
Bump
 
Karl Karl

Karl Karl

06/12/2009 16:43:00
Quote Anchor link
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/
Gewijzigd op 01/01/1970 01:00:00 door Karl Karl
 
GaMer B

GaMer B

06/12/2009 16:46:00
Quote Anchor link
Dit zou moeten werken:

$regex = "/^[a-zA-Z\s'\-]+$/";
 
Wim Eikelboom

Wim Eikelboom

06/12/2009 18:10:00
Quote Anchor link
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?
 
GaMer B

GaMer B

06/12/2009 18:36:00
Quote Anchor link
Zo werkt ie wel:
$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
 
Wim Eikelboom

Wim Eikelboom

06/12/2009 19:25:00
Quote Anchor link
Als ik al kudo's kon geven had ik het gedaan:) dankje voor \s uitleg, weer wat geleerd;)
 



Overzicht Reageren