[expressions régulières] question preg_match

Résolu/Fermé
muaddibx Messages postés 76 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 12 juin 2009 - 15 oct. 2008 à 15:18
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 22 oct. 2008 à 15:17
Bonjour,

Je suis sur un ptit script qui va utiliser des expressions régulières, et j'aurais souhaité avoir une info que je n'ai pas trouvé.

En fait, je veux faire un preg_match sur plusieurs expressions régulières, du style:
preg_match(regexp1 OU regex2 OU regexp3, "un texte à analyser")

avec regexpX étant les différentes expressions que je veux tester.

Mon soucis est donc le suivant:
Est-il possible d'inclure les "conditions" OU dans mon preg_match, ou bien suis-je obligé de multiplier cette ligne autant de fois que j'ai de regexp (dans mon exemple, ca ferait donc 3 fois)?
Et si oui, quel est le symbole de OU? (je parle pas du OU qu'on met dans une classe de caractère hein, mais bien un OU qu'on placerait dans le preg_match.

En espérant bien m'etre fait comprendre, je vous souhaite une bonne journée.

Merci d'avance.

Muad'Dib

22 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
22 oct. 2008 à 11:50
A d'accord et donc avec grep tu voudrais ne récupérer que la partie qui t'interesse dans un chemin?
-1
muaddibx Messages postés 76 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 12 juin 2009 1
22 oct. 2008 à 11:53
je souhaite récupérer tout le chemin du répertoire, pour lui attribuer de nouveaux droits.

j'ai essayé un "find -name", mais ca n'a l'air de s'occuper que des fichiers, et non des répertoires :s

EDIT: oui, je tenais à préciser que dans mon script, j'ai pas mis toutes les regexp. Pour l'instant, je teste juste avec une simple expression (ici, infrasud, voire ^infrasud). Et quand ca marchera, j'essaierais de mettre toutes mes regexp, ou bien de multiplier ma ligne de find.
-1