gratifiant > linux.debian.user.french

Migrec (01/07/2019, 16h20)
Bonjour,

Je dois trouver ce qui ne colle pas dans un fichier XML.
Comme indice, j'ai cette expression régulière : (.|\n)*[^\s](.|\n)*

Comment puis-je savoir ou elle est située ? Apparemment, la chaîne en
question est encadrée par des balises XML <balise></balise>
Une piste ?
Guillaume Clercin (01/07/2019, 17h10)
Bonjour,

On Mon, 1 Jul 2019 16:11:01 +0200
Migrec <mic.grentz> wrote:

> Bonjour,
> Je dois trouver ce qui ne colle pas dans un fichier XML.
> Comme indice, j'ai cette expression régulière : (.|\n)*[^\s](.|\n)*
> Comment puis-je savoir ou elle est située ? Apparemment, la chaîne en
> question est encadrée par des balises XML <balise></balise>
> Une piste ?

Pour tester des regex, je vais sur regex101.com, je trouve ce site
pratique. On a même un débogueur de regex.

> --
> Migrec


Cordialement,
Migrec (01/07/2019, 21h50)
Bonjour,

Merci ! Site très utile.
Mais j'ai encore du mal à comprendre ce que l'expression cible.
Visiblement, la chose suivante est ciblée (ou non ciblée)
<BaliseA>
<BaliseB attribut="valeur">
<comment/>
</BaliseB>
</BaliseA>

Il devrait y avoir une valeur qui est absente et que le script détecte.
Cordialement,
Daniel Caillibaud (02/07/2019, 12h20)
Le 01/07/19 =C3=A0 21h49, Migrec <mic.grentz> a =C3=A9crit :
> Mais j'ai encore du mal =C3=A0 comprendre ce que l'expression cible.


Elle est tr=C3=A8s large, car elle cible toute cha=C3=AEne contenant un car=
act=C3=A8re "non
espace" pr=C3=A9c=C3=A9d=C3=A9e d'autant de caract=C3=A8res qu'on veut (0 i=
nclus) suivie
d'autant de caract=C3=A8res qu'on veut (idem).

Donc en fait la seule chose qu'elle ne match pas est une chaine ne
contenant aucun caract=C3=A8re "non espace" (ou tabulation ou =E2=80=A6), s=
oit une
cha=C3=AEne vide ou ne contenant que des espaces|tabulations.

(.|\n)*[^\s](.|\n)*
^^^^^^ n'importe quel caract=C3=A8re (fin de ligne compris)
^ en 0 =C3=A0 N exemplaires
^^^^^ un caract=C3=A8re non espace
^^^^^^ n'importe quel caract=C3=A8re (fin de ligne compris)
^ en 0 =C3=A0 N exemplaires

Je vois pas trop dans quel cas =C3=A7a peut =C3=AAtre utile, mais je connai=
s pas le
contexte.

--=20
Daniel

On r=C3=A9alise qu'une femme est de la dynamite quand on la laisse tomber.
Marcel Pagnol.
Dominique Dumont (03/07/2019, 11h30)
On Monday, 1 July 2019 21:49:26 CEST Migrec wrote:
> Il devrait y avoir une valeur qui est absente et que le script détecte.


Je dois avouer que je ne comprends toujours pas le problème à résoudre.

Tu peux donner un exemple d'XML "qui va" et un "qui ne va pas" ?

Dod
Migrec (03/07/2019, 22h30)
Bonjour,

Merci. Effectivement, je suppose que c'est là pour détecter une absence
de valeur, en tout cas une valeur non exploitable (des espaces, des
retours chariots, etc.)
Discussions similaires