cerhu > 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
Expression régulière...

Expression régulière

Expression reguliere

expression régulière


Fuseau horaire GMT +2. Il est actuellement 04h17. | Privacy Policy