Bonsoir à tous,

Je souhaite exécuter avec PHP une requête MySql pour récupérer le nombre de mots de plus de 4 lettres (afin d'éliminer les conjonctions de coordination « mais ou et donc or ni car » de ma jeunesse!) dans une chaîne de qq milliers de caractères.

Malgré un balayage intensif du Web je n'ai rien trouvé de probant.

Toutes les pistes et suggestions sont les bienvenues !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM table WHERE besoin REGEXP '([a-zA-Z]{4,100}){50,}'
Cette requête permet de sélectionner toutes les lignes dont la col "besoin" de la table contient plus de 4 caractères et de moins de 100 caractères.

Maintenant je voudrais sélectionner que les colonnes qui ont plus de 50 mots (de plus 4 lettres et moins de 100 lettres) et dont l'id = 2 par ex! Ou dois-je mettre la REGEXP ?

[MàJ]
Ce matin j'ai un peu avancé (mais je suis pas sûr!) sur le sujet.
J'ai écrit cette requête qui me permet de ne récupérer que les lignes dont l'id est xxx et dont la colonne besoin satisfait la REGEXP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT * FROM (
SELECT *  FROM table WHERE `besoin` REGEXP '([a-zA-Z]{4,}){3,}') tmp
WHERE id = 10
Maintenant je ne souhaite récuperer que les colonnes qui satisfont les conditions de la REGEXP, cad « par quoi remplacer l'* du premier SELECT »

D'avance merci

[MàJ 2]
Personne pour me sortir de l'ornière ??? http://www.developpez.net/forums/ima...s/icon_sad.gif

[MàJ 3]
En fait le pb s'énonce comme suit :
Je souhaite récupérer toutes les colonnes dont le nom commence par besoin (LIKE besoin%) de la table mutable et dont l'id est 2 et qui satisfont à la REGEXP. Tout un programme !