Een vraagje ... is het mogelijk (en zo ja hoe) om via een regex dubbele tekens af te keuren?
Wat ik graag zou willen is dat ik bijv. kan aangeven dat er letters en cijfers gebruikt mogen worden, en spaties, punten en streepjes. Dan krijg je zoiets:
pattern="^[- .0-9A-Za-z]$"
Maar ik wil niet dat men dubbele spaties, streepjes en punten kan gebruiken.
Dus dit mag wel: Ozzie.PHP-Hulp
Maar dit niet: Ozzie..PHP--Hulp
Is het mogelijk om in een regex aan te geven dat er alleen 'enkele' streepjes, spaties en punten gebruikt mogen worden?
>> Heb je t getest? Naar mijn idee wel. Al is die group hier niet ech tnodig: -(?!$)
Ja, ik heb het getest ... dat werkt dus prima zoals ik één regel daarboven zei :-)
Die groep heb ik erbij staan omdat het (in mijn praktijk) een optionele groep is die volgt op iets anders.
>> (?!...) is geen capturing group, (...) is. Deze syntaxes gaan niet over het zelfde.
Ik denk dat ik het snap. Ik dacht dat iedere group standaard een capturing group was, en dat ik dus moest aangeven dat dit een non-capturing group betrof zoals jij mij eerder had geleerd. Maar dat hoeft in dit geval dus niet.
Die groep heb ik erbij staan omdat het (in mijn praktijk) een optionele groep is die volgt op iets anders.
Oeps sorry. Las t als "Kan ik bijv." ipv "Ik kan bijv." :)
Ik denk dat ik het snap. Ik dacht dat iedere group standaard een capturing group was, en dat ik dus moest aangeven dat dit een non-capturing group betrof zoals jij mij eerder had geleerd. Maar dat hoeft in dit geval dus niet.
T klopt wel wat je zegt: Elke groep is standaard een capturing group. Maar (?...) is vaak geen groep. De (?!...) definieert het geen erin zit niet als een groep, het is puur een lookahead. Aangezien je in regex elke character die gebruikt wordt als syntax moet escapen (bijv. \( om een ( te matchen) is het handig om zo min mogelijk characters te gebruiken voor regex syntax. Als dat niet het geval was zou (?!...) net zo goed <?!...> kunnen zijn oid.
>> Oeps sorry. Las t als "Kan ik bijv." ipv "Ik kan bijv." :)
No problem ;-)
>> Aangezien je in regex elke character die gebruikt wordt als syntax moet escapen (bijv. \( om een ( te matchen) is het handig om zo min mogelijk characters te gebruiken voor regex syntax.
Kun je dit nog wat verder uitleggen? Ik snap niet echt wat je hiermee bedoelt eigenlijk :-s