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

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

Path: ...!eternal-september.org!reader01.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!.POSTED!not-for-mail
From: Olivier Miakinen <om+news@miakinen.net>
Newsgroups: fr.comp.sys.mac.programmation
Subject: Re: Verifier la presence d'un mot dans tous les champs
Date: Fri, 3 Mar 2023 23:59:03 +0100
Organization: There's no cabale
Lines: 53
Message-ID: <tttu3m$1dv4$1@cabale.usenet-fr.net>
References: <t0lcik$1616$1@cabale.usenet-fr.net>
 <dg1u2h9ms324so97iqqac5jfclhunbt5u0@4ax.com>
 <t0n2vh$23a2$1@cabale.usenet-fr.net> <t8162d$1rbm$1@gioia.aioe.org>
 <t81ks1$2ipl$1@cabale.usenet-fr.net> <ttkveo$7no$1@shakotay.alphanet.ch>
 <ttl07l$u8m$1@cabale.usenet-fr.net> <ttl3bh$svv$1@shakotay.alphanet.ch>
 <ttm19j$1bll$1@cabale.usenet-fr.net> <ttm1u5$1br0$1@cabale.usenet-fr.net>
 <ttm4os$inu$1@shakotay.alphanet.ch>
 <1q6wq7l.wkh7dy1ty8eazN%andre_favre@af.invalid>
 <ttn9em$h0s$1@shakotay.alphanet.ch> <ttpqam$7tm$1@shakotay.alphanet.ch>
 <ttt1b6$lk6v$1@dont-email.me> <tttjb9$1ais$1@cabale.usenet-fr.net>
 <tttjmb$5hk$1@shakotay.alphanet.ch> <tttl0q$1asu$1@cabale.usenet-fr.net>
 <tttltt$elj$1@shakotay.alphanet.ch> <tttmh9$1caj$1@cabale.usenet-fr.net>
 <ttto6k$p6b$1@shakotay.alphanet.ch>
NNTP-Posting-Host: 94.36.4.93.rev.sfr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: cabale.usenet-fr.net 1677884342 47076 93.4.36.94 (3 Mar 2023 22:59:02 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Fri, 3 Mar 2023 22:59:02 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
 Firefox/60.0 SeaMonkey/2.53.1
In-Reply-To: <ttto6k$p6b$1@shakotay.alphanet.ch>
Bytes: 3315

Le 03/03/2023 à 22:18, M.V. a écrit :
> 
>> Eh bien par exemple la regexp "[a-z] [0-9]" permet de détecter une
>> chaîne contenant une lettre minuscule sans accent, n'importe laquelle,
>> suivie d'une espace, suivie d'un chiffre, n'importe lequel.
>>
>> Ainsi cela répondra oui à "toto 55" parce qu'il y a "o 5" dedans,
>> mais non à "55 toto".
> 
> OK, je vois.

Oui, mais c'était un exemple tout simple.

> C'est un tout petit moins simple en AppleScript mais ça se fait quand
> même très bien : prendre le 1er caractère de l'expression à tester,
> regarder s'il est dans [a-z], si oui regarder s'il est suivi d'une
> espace et si oui encore regarder si celle-ci est suivie par un chiffre
> entre 0 et 9. 
> Si la réponse est NON à un des 3 critères alors passer au 2ème caractère
> de l'expression à tester, regarder s'il est dans [a-z], si oui regarder
> etc.
> 
> Ça semble long quand on l'explicite mais un script fait ça en quelques
> millièmes de seconde pour une expression moins longue qu'un roman avec
> la chaine valide à la page 859 !

Alors prenons un autre exemple.

Comment écrirais-tu un programme capable de détecter si une chaîne de
caractères est un nombre en virgule flottante ?

Voici quelques exemples de nombres valides :
"0"
"+1.5"
"1e+99"
"-19E-7"
"1.7e003"
".3"

Et voici quelques exemples non valides :
""
"1.2.3"
"1E3.4"
"--1"
"e+99"
"."
"+1e"

Avec les regexp, le programme est par exemple :
/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/

-- 
Olivier Miakinen