Problème expression régulière [Résolu]

nounours21_6 255 Messages postés mercredi 3 novembre 2004Date d'inscription 21 avril 2009 Dernière intervention - 5 févr. 2008 à 10:29 - Dernière réponse : sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention
- 5 févr. 2008 à 11:34
Bonjour,


J'ai un souci de construction d'expression régulière. J'ai un fichier XML et il faut que j'enlève l'en-tête grace à une ER.
Voila le fichier :

<?xml version="1.0"?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-02.dtd">
<coverage line-rate="1.0" branch-rate="1.0" version="1.8" timestamp="1202139804535">
 <sources>
  [...]
 </sources>
</coverage>


J'ai créer cette expression : <\?xml.*dtd">
Mais cela efface tout le fichier au lieu des deux premières lignes...


Merci d'avance
Enjoy @+
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 5 févr. 2008 à 11:18
3
Merci
euh... tu utilises Java ?

bref, je pense qu'il y a un souci niveau Java sur cette regex, elle fonctionne parfaitement en .net...
sinon, essaye en retirant les backreferences...

<\?xml.*?\?\>\s*.*?dtd"\>

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de sebmafate
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 5 févr. 2008 à 10:45
0
Merci
Salut,

Essaye celle-ci : (?<xmlDeclaration>\<\?xml.*?\?\>)\s*(?<dtdtype>.*dtd"\>)?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
nounours21_6 255 Messages postés mercredi 3 novembre 2004Date d'inscription 21 avril 2009 Dernière intervention - 5 févr. 2008 à 11:05
0
Merci
Merci de ta réponse. Cependant, il y a erreur dans ton ER :

C:\CPageI\workspaces\current\integration\toto.xml:100: java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 31
(?<xmlDeclaration>\<\?xml.*?\?\.*dtd"\>)?

J'ai souligné ce que le prompteur pointe la faute.
Commenter la réponse de nounours21_6
nounours21_6 255 Messages postés mercredi 3 novembre 2004Date d'inscription 21 avril 2009 Dernière intervention - 5 févr. 2008 à 11:25
0
Merci
En faite, c'est du script ANT sous forme xml pour java^^ mais vu que j'ai l'habitude de venir sur CS...

Sinon ta deuxième expression fonctionne,
merci pour ta rapidité!

Enjoy @+
Commenter la réponse de nounours21_6
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 5 févr. 2008 à 11:34
0
Merci
OK.

les regexes sont l'un des mes jouets préférés ;)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.