Deutsch   English   Français   Italiano  
<tj31nm$1nql$1@cabale.usenet-fr.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail
From: Olivier Miakinen <om+news@miakinen.net>
Newsgroups: fr.comp.lang.regexp
Subject: =?UTF-8?Q?Re:_Extraction_nombre_d=c3=a9cimaux.?=
Date: Sun, 23 Oct 2022 11:32:38 +0200
Organization: There's no cabale
Lines: 51
Message-ID: <tj31nm$1nql$1@cabale.usenet-fr.net>
References: <635501d4$0$22259$426a74cc@news.free.fr>
NNTP-Posting-Host: 220.12.205.77.rev.sfr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: cabale.usenet-fr.net 1666517558 57173 77.205.12.220 (23 Oct 2022 09:32:38 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Sun, 23 Oct 2022 09:32:38 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Firefox/52.0 SeaMonkey/2.49.4
In-Reply-To: <635501d4$0$22259$426a74cc@news.free.fr>
Bytes: 1921

Bonjour,

Le 23/10/2022 10:56, kurtz le pirate a écrit :
> 
> Je troune en rond depuis quelques temps sur l'extraction de nombre
> décimaux depuis un fichiers. je n'arrive pas à capturer le signe.

Je suggère :
/(?=[-+]?[0-9.])([-+]?)([0-9]*)(?:\.([0-9]+))?(?:e([0-9]+))?/g

L'assertion (?=[-+]?[0-9.]) au début permet de ne considérer que ce qui
ressemble déjà à un nombre (sinon ça matchera aussi la chaîne vide).

>   @floatnum = $line =~ /[-+]?([0-9]*\.[0-9]+|[0-9]+)/g;
> # @floatnum = $line =~ /($RE{num}{real})/g;
> # @floatnum = $line =~ /([+-]?\d+(\.\d+)?)/g;

Tu ne peux capturer qu'une seule chose à la fois ???

> Exemple :
> #declare x = -.168452; #declare y = 0.456; #declare z = -5.4563e6;
> 
> Je récupère :
> float = .168452
> float = 0.456
> float = 5.4563
> float = 6

Je récupère :

-.168452
 "-"
 ""
 "168452"
 ""

0.456
 ""
 "0"
 "456"
 ""

-5.4563e6
 "-"
 "5"
 "4563"
 "6"


-- 
Olivier Miakinen