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 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: References: 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: 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