Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen Newsgroups: fr.comp.sys.mac.programmation Subject: Re: Verifier la presence d'un mot dans tous les champs Date: Fri, 3 Mar 2023 21:23:55 +0100 Organization: There's no cabale Lines: 32 Message-ID: References: <1q6wq7l.wkh7dy1ty8eazN%andre_favre@af.invalid> 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 1677875034 43934 93.4.36.94 (3 Mar 2023 20:23:54 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Fri, 3 Mar 2023 20:23:54 +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: 2847 Le 03/03/2023 à 21:01, M.V. a écrit : > >> J'avais donné comme exemple la recherche de « cœur » sans préciser, >> mais en réalité mon idée était de remplacer cette chaîne fixe par >> une regexp quelconque. > > Ça correspond à ce que j'imaginais et donc le script AS précédent ne > fonctionnait pas ! Celui que j'ai pondu dans > irait beaucoup mieux. Je ne sais pas si la construction que tu utilises, à savoir « if "cœur" is not in item_list », utilise une comparaison de chaîne fixe ou bien une regexp. Dans le second cas, alors peut-être que ton script fait aussi bien que la regexp /(^|,)((?!cœur).)*(,|$)/ ; dans le premier cas, non. Par exemple, je pourrais remplacer « cœur » par « [a-z]{7}(xx|yyy) » ou n'importe quelle autre regexp. > Et ta recherche fait le distingo entre « cœur » et « Cœur » ? Pour une recherche indépendante de la casse il me suffit d'ajouter un i après le dernier /, donc : /(^|,)((?!cœur).)*(,|$)/i Il y a aussi moyen de faire en sorte qu'une partie de la regexp soit indépendante de la casse et qu'une autre partie ne le soit pas. Mais ça, ce serait plus en charte sur fcl.regexp qu'ici. -- Olivier Miakinen