Warning: mysqli::__construct(): (HY000/2002): No connection could be made because the target machine actively refused it. in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (2002) No connection could be made because the target machine actively refused it.
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <ttm1u5$1br0$1@cabale.usenet-fr.net>
Deutsch   English   Français   Italiano  
<ttm1u5$1br0$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.lang.regexp
Subject: Re: Verifier la presence d'un mot dans tous les champs
Date: Wed, 1 Mar 2023 00:15:17 +0100
Organization: There's no cabale
Lines: 34
Message-ID: <ttm1u5$1br0$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>
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 1677626117 44896 93.4.36.94 (28 Feb 2023 23:15:17 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Tue, 28 Feb 2023 23:15:17 +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: <ttm19j$1bll$1@cabale.usenet-fr.net>
Bytes: 2469

Le 01/03/2023 à 00:04, Olivier Miakinen a écrit :
> 
> 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.

Et une solution possible (je ne sais pas si c'est celle que j'avais
retenue), c'est de faire l'inverse : une regexp qui réponde FAUX
si un mot en particulier se trouve dans chaque partie de la phrase,
c'est-à-dire qui réponde VRAI si ce mot est absent d'au moins une
des parties de la phrase.

La regexp suivante semble convenir :
 (^|,)(.(?!cœur))*(,|$)
et c'est encore une démonstration de la puissance des assertions.

> Par exemple, pour le mot cœur, cette phrase serait valide :
> 
>  Pour parler à cœur ouvert, cœur à cœur, je mets du cœur à l'ouvrage,
>  même si ce n'est pas de gaieté de cœur.

La regexp ne trouve rien ici.

> En revanche celle-ci ne serait pas valide :
> 
>  Pour parler à cœur ouvert, cœur à cœur, je mets beaucoup de courage,
>  même si ce n'est pas de gaieté de cœur.

Ici, la regexp trouve ", je mets beaucoup de courage,"


Cordialement,
-- 
Olivier Miakinen