Salut à tous !
Bon, voici une question qui devrait être normalement simple à tous ceux qui masterisent un peu ou beaucoup les expressions rationnelles... Je cherche juste à capturer le texte se trouvant entre deux balises.
Par exemple :
bla blah blah blah blah blah (hello)coucou(fin hello) reblah reblah
je dois obtenir "coucou".
J'ai essayé : `\(hello\)([^(\(fin hello\))]*)\(fin hello\)`
mais ça a pas l'air de marcher...
Merci pour vos réponses.
# '/\(hello\)(.*)\(fin hello\)/'
Posté par errno . Évalué à 1.
[^] # Re: '/\(hello\)(.*)\(fin hello\)/'
Posté par Nicolas Blanco (site web personnel) . Évalué à 1.
merci.
[^] # Re: '/\(hello\)(.*)\(fin hello\)/'
Posté par Pooly (site web personnel) . Évalué à 2.
sur (hello)coucou(fin hello) (hello)coucou(fin hello) je suis pas sur que ca marcheras....
[^] # Re: '/\(hello\)(.*)\(fin hello\)/'
Posté par 태 (site web personnel) . Évalué à 3.
Dans vim, tu peux faire du \{-} à la place de * pour matcher le plus petit, mais ce ne doit pas etre standard.
le coup du [^machin] ca veut dire un caractere qui n'appartient pas a l'ensemble m, a, c, h, i, n. Donc ça ne pouvait pas marcher avec coucou. Cela dit, tu peux peut etre te contenter de texte sans balise imbriquées, et donc mettre un \([^(]*\).
Toujours dans vim, pour matcher ce qui ne contient pas une chaine, il faut utiliser \@!.
[^] # Re: '/\(hello\)(.*)\(fin hello\)/'
Posté par foulmetal canette (site web personnel) . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.