Deutsch   English   Français   Italiano  
<t0o822$2mlv$1@cabale.usenet-fr.net>

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

Path: ...!3.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.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:_V=c3=a9rifier_la_pr=c3=a9sence_d'un_mot_dans_tous_les?=
 =?UTF-8?Q?_champs?=
Date: Mon, 14 Mar 2022 21:20:17 +0100
Organization: There's no cabale
Lines: 36
Message-ID: <t0o822$2mlv$1@cabale.usenet-fr.net>
References: <t0lcik$1616$1@cabale.usenet-fr.net>
 <t0lgks$192t$1@cabale.usenet-fr.net>
NNTP-Posting-Host: 220.12.205.77.rev.sfr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: cabale.usenet-fr.net 1647289218 88767 77.205.12.220 (14 Mar 2022 20:20:18 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Mon, 14 Mar 2022 20:20:18 +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: <t0lgks$192t$1@cabale.usenet-fr.net>
Bytes: 2412

Salut,

Je pense avoir trouvé pour les deux versions.

Le 13/03/2022 à 20:28, je me répondais :
>> 
>> Dans une phrase comportant plusieurs mots séparés entre autres par des
>> virgules, je voudrais vérifier qu'un mot en particulier se trouve dans
>> chaque partie de la phrase.

La regexp suivante semble convenir :
    /^[^,]*cœur[^,]*(,[^,]*cœur[^,]*)*$/

Elle a pour défaut de devoir écrire deux fois la chaîne à tester,
ici « cœur », mais elle n'a pas besoin de règles complexes telles
que les assertions.

> 
> J'ai peut-être une idée pour ça, et d'ailleurs j'ai posé la question
> sous cette forme parce qu'elle me paraît un peu plus facile que ma
> question d'origine qui est le contraire : vérifier qu'il existe au
> moins l'une des parties de la phrase ne contenant *pas* ce mot.

Pour cette version, la regexp suivante a l'air d'aller :
    /(^|,)([^,](?!cœur))*(,|$)/

Là au contraire j'ai besoin d'une assertion, mais la chaîne à tester
n'a besoin d'être écrite qu'une seule fois. Cela évite d'avoir à la
modifier à plusieurs endroits lors des phases de tests, ce qui évite
donc le risque de ne pas la modifier partout pareil.

Merci à Otomatic qui a tenté de m'aider, et... merci à moi pour
avoir finalement trouvé une solution. ;-)

-- 
Olivier Miakinen