Par exemple, cette regex
(.*)<FooBar>
correspondra :
abcde<FooBar>
Mais comment faire pour qu'elle corresponde à plusieurs lignes ?
abcde
fghij<FooBar>
Par exemple, cette regex
(.*)<FooBar>
correspondra :
abcde<FooBar>
Mais comment faire pour qu'elle corresponde à plusieurs lignes ?
abcde
fghij<FooBar>
Cela dépend de la langue et/ou de l'outil que vous utilisez. Veuillez nous indiquer ce que vous utilisez, par exemple Perl, PHP, CF, C#, sed, awk, etc.
Il a dit qu'il utilisait Eclipse. À mon avis, cette solution est correcte. J'ai eu le même problème et cela l'a résolu.
Dans de nombreux dialectes de regex, /[\S\s]*<Foobar>/
fera exactement ce que vous voulez. Source :
De ce lien : "JavaScript et VBScript ne disposent pas d'une option permettant de faire correspondre le point aux caractères de saut de ligne. Dans ces langages, vous pouvez utiliser une classe de caractères telle que [ \s\S ] pour correspondre à n'importe quel caractère." Au lieu du ., utilisez [ \s\S ] (correspond aux espaces et aux non-espaces) à la place.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Pour clarifier, j'utilisais initialement Eclipse pour effectuer une recherche et un remplacement dans plusieurs fichiers. Ce que j'ai découvert par les réponses ci-dessous est que mon problème était l'outil et non le motif regex.