Ecriture d'une regex

Ecriture d'une regex - PHP - Programmation

Marsh Posté le 08-01-2013 à 23:13:51    

Bonjour,
 
J'ai un long texte et je voudrais y extraire des mots de plus de 3 caracteres situes entre "michel" et "jacques" sachant que "marc" et "jean" sont interdits d'etre presents parmis ces mots. Comment puis-je proceder car je n'y vois que du feux.
 
Voici ce que je tente, mais qui ne marche pas encore.
 
(?i)(?:\bmichel\b\\W(\w{3,}++\s?)\bjacques?\b|\bjacques?\b.*\bmichel?\b). Je n'y ai pas encore ajouter la restriction.
 
A l'aide please.
 
 
Mutkas

Reply

Marsh Posté le 08-01-2013 à 23:13:51   

Reply

Marsh Posté le 09-01-2013 à 00:29:07    

Faire ça en une seule regexp c'est vraiment se compliquer la vie.
 
Essaye de découper ton processus de recherche avec preg_replace_callback()
http://php.net/manual/fr/function. [...] llback.php
 
Tu lui passes un callback, donc une fonction, dans laquelle tu peux traiter le résultat de ton premier match, faire des ifs, des fors...etc. et pourquoi pas réenchainer sur d'autres preg_match, preg_match_all ou preg_replace_callback.


Message édité par CyberDenix le 09-01-2013 à 00:30:01

---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 09-01-2013 à 10:45:40    

Pour la mise au point de regexp compliquées (ou simples), un site bien pratique qui permet de voir ce qu'on capture : http://gskinner.com/RegExr/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 09-01-2013 à 11:47:46    

Bonjour,
Est-ce que vous avez trouvé la solution?


---------------
Besoin d'aide pour votre projet? agence web
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed