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

Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Dernière intervention
21 avril 2009
- - Dernière réponse : sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 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
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
54
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]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
54
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
Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Dernière intervention
21 avril 2009
2
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
Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Dernière intervention
21 avril 2009
2
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
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
54
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.