Problème expression régulière

Résolu
nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009 - 5 févr. 2008 à 10:29
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre 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 @+

5 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 févr. 2008 à 11:18
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]
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 févr. 2008 à 10:45
Salut,

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

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009
5 févr. 2008 à 11:05
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.
0
nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009
5 févr. 2008 à 11:25
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 @+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 févr. 2008 à 11:34
OK.

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

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