Bonjour tout le monde,

Je suis actuellement en train de réalisé en binôme une application en PHP CLI qui a pour but de... refaire un SGBDR.

Pour ça, nous en venons bien évidemment à vérifier la syntaxe des requêtes saisies par l'utilisateur, notamment lorsqu'il saisit une chaîne de caractère ! (nous devons gérer le type, mais pas la taille des champs)

Les contraintes :
Une chaîne de caractère d'un seul mot n'est pas forcément entourée de "
Une chaîne de caractères entourée de " peut accepter n'importe quelle valeur de n'importe quelle t'aille, y comprit les " échappés (\")

Voici la regex que j'ai actuellement pour valider cette syntaxe (qui ne marche pas bien évidemment, d'où mon problème)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$pattern_string = '((".*?[^\\]")|([^\., \)]+))';
Dans la partie du mot seul, je dis que j'ai besoin de n'importe quel caractères exceptés :
le point (qui n'existera que si on me spécifie une table.champ)
La virgule, l'espace, la parenthèse fermante : Ce sont des seuls caractères qui me permettent de savoir que ma valeur se termine pour continuer ma requête.

Comment puis-je faire en sorte de pouvoir donc valider une chaine de caractères entourés de doubles-quotes pouvant contenir des doubles-quotes échappées svp ?

Merci d'avance...
V3lkin.