Bonjour,
Je réalise une regex pour un petit framework db.
Pour écrire la condition where j'ai écrit ceci en regex:
(?<table_name>\w+:)?(?<column_name>\w+)(?<operator><?>?=?%?)
Le groupe operator laisse donc un choix parmi
Le hic, c'est que j'aimerais bien indiqué une obligation de présence de cet opérateur.
J'ai fait une liste de test:
1 2 3 4 5 6 7 8 9 10 11
| a<>
a%
a<
a>
a<=
a>=
a=
a==
a%=
a=<
a |
Le dernier ne comporte pas d'opérateur et match quant même.
Donc, comment faire pour rendre la présence d'au moins un élément du groupe operator obligatoire et aussi interdire des choses comme <>= qui sont aussi valides.
Partager