|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Grégory PLANCHATInscription : juin 2005 Messages : 38 ![]() |
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 : 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. |
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Grégory PLANCHATInscription : juin 2005 Messages : 38 ![]() |
Je vais reformuler ma question :
Comment capturer un caractère (déplacer le pointeur) sans le retrouver dans les résultats. |
|
00
|
|
|
#3 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
De manière générale, on utilise un tableau de matches pour ne pas se poser ce genre de problème, et n'extraire que les parties souhaitées.
Par ailleurs, tu peux être raisonnablement sûr que les noms de table ne contiennent ni [ ni ] ni `, tu peux donc utiliser : Code :
|
||
|
|
00
|
|
|
#4 | |
|
Futur Membre du Club
![]() Grégory PLANCHATInscription : juin 2005 Messages : 38 ![]() |
Merci pour ta réponse
Citation:
Le problème que me pose cette solution, c'est que pour lire ces fichiers, je me sers de la première ligne comme noms de tables, et donc si je me retrouve avec une table nommée "champ[test]haha", et que je dois faire ma requête : Le regex en déduira un champ "champ[test" et risquera de fonctionner d'une manière imprévue |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
OK, revenons donc à la séparation en deux cas :
Pour chaque reconnaissance, soit $1 soit $2 contient ton nom de table. |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Grégory PLANCHATInscription : juin 2005 Messages : 38 ![]() |
ok, merci pour les réponses
|
|
00
|
Copyright © 2000-2012 - www.developpez.com