[RESOLU] Regexp pour tous les mots d'une chaîne commençant par un certain motif

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Regexp pour tous les mots d'une chaîne commençant par un certain motif

[RESOLU] Regexp pour tous les mots d'une chaîne commençant par un certain motif

par kyfr59 » 16 nov. 2015, 18:06

Je viens de la trouver :
$regexp = '/(^|\s)?('.$term.'([a-z0-9\.,\)])*?)(\s|$)/i';
preg_match_all($regexp, $result->title, $out);
Merci pour ton aide.

Franck.

Re: Regexp pour tous les mots d'une chaîne commençant par un certain motif

par kyfr59 » 16 nov. 2015, 16:37

Salut,

Pour l'instant j'ai ça :
$regexp = '/(^|\s)('.$term.')(.+?)?(\s|$)/i';
preg_match_all($regexp, $title, $out, PREG_PATTERN_ORDER);
Mais pour "taxe", ça me renvoi :

array(8) {
[0] => string(5) "taxes"
[3] => string(12) "taxeannuelle"
[4] => string(6) "taxede"
[5] => string(7) "taxesur"
[6] => string(10) "taxemaxima"
[19] => string(18) "taxeexceptionnelle"
[21] => string(4) "taxe"
[34] => string(14) "taxemunicipale"
}

Je n'arrive pas à gérer le résultat renvoyé par preg_match_all() lorsque le terme demandé (taxe) est un mot à part entière.

Merci.

Re: Regexp pour tous les mots d'une chaîne commençant par un certain motif

par @rthur » 16 nov. 2015, 15:45

Bonjour,

Quel est le problème rencontré ?
Qu'as tu essayé et qu'est-ce qui ne fonctionne pas ?

Pour indiquer le début d'une chaine, il faut utiliser le caractère ^
Par ailleurs, tu as un site très bien fait pour t'aider à élaborer tes regex qui est celui-ci : https://regex101.com
Tu rentres du texte dans le champ "test string" et tu tape ta regex dans le champ situé au-dessus et tu va voir en direct le résultat.

Regexp pour tous les mots d'une chaîne commençant par un certain motif

par kyfr59 » 16 nov. 2015, 14:10

Bonjour à tous,

Je cherche une expression rationnelle permettant d'extraire tous les mots d'une chaîne commençant par un certain motif.

Par exemple, dans la phrase :
La gestion d'archives se fait par le département "Archive" et par l'architecte.

Je veux pouvoir extraire :
archives
Archive
architecte

Pour le motif "arch".

Merci d'avance.

Franck.