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

Signaler
Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
21 avril 2009
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
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

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
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]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
Salut,

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

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
21 avril 2009

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.
Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
21 avril 2009

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 @+
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
OK.

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

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