Hulp bij regex

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bryan De Baar

Bryan De Baar

08/06/2020 22:18:08
Quote Anchor link
Hi,


Wie kan mij helpen met deze Regex

Het mogen alleen nummers zijn en als optioneel mag er ook een - teken voor.
Dit heb ik voor elkaar maar het - teken mag maar 1x voorkomen.

Dit heb ik tot nu toe maar hier is het nu nog mogelijk om dit te doen --1234
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
(-?)+\d{1,}



Onderstaande heb ik ook al geprobeerd
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
(-? {1})+\d{1,}
 
PHP hulp

PHP hulp

24/11/2024 09:15:47
 
Martijn B

Martijn B

08/06/2020 22:34:21
Quote Anchor link
Hierbij:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
/-?[0-9]+/

Dit is volgens mij wat je wil..

Uiteraard kun je "[0-9]" vervangen door "\d" maar zo is het duidelijker vind ik.
Gewijzigd op 08/06/2020 22:37:17 door Martijn B
 
Rob Doemaarwat

Rob Doemaarwat

08/06/2020 23:24:50
Quote Anchor link
Misschien nog een ^ (vanaf begin) en $ (tot eind) er bij om te voorkomen dat "aaa123bbb" ook goedgekeurd wordt (voldoet aan /-?[0-9]+/)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"/^-?\\d+$/"

(en ja, ik vindt het een goed ding om jezelf de shorthands aan te leren - anders blijf je "[a-zA-Z0-9_]" schrijven ipv "\\w"; en zo zijn er dus ook "\\s" = white-space, "\\S" = alles behalve white-space, "\\D" = alles behalve een getal, enz).
(en ja, ik heb mezelf aangeleerd om in PHP altijd een dubbel backslash te gebruiken, omdat ie dan in de string als escape char gebruikt wordt, en er effectief dus gewoon een enkele staat; voorkomt dat je een keer wordt "gebeten" omdat de letter achter de backslash "iets bijzonders" in PHP betekent).
Gewijzigd op 08/06/2020 23:27:06 door Rob Doemaarwat
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.