Je cherche à analyser des requêtes SQL pour les interpréter, j'utilise pour ca PCRE dans PHP. Je pense être proche de ce que je devrais avoir, mais je sèche un peu concernant les noms de champs :

J'utilise l'expression suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
((?<=\[)[^]]+|(?<=`)[^`]+|\w+)
Elle devrait capturer le noms de tables en tant que mot complet, ou bien nom contenant des espaces entre [ et ] ou entre ` et `

Seulement, dans les cas où j'utilise les [] et ``, je ne capture pas le caractère fermant (je ne veux pas le capturer), et ca me pose problème pour la suite, il faut que je l'exclue du sujet de recherche.