Sujet : Re: Verifier la presence d'un mot dans tous les champs
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.sys.mac.programmationDate : 03. Mar 2023, 21:23:55
Autres entêtes
Organisation : There's no cabale
Message-ID : <tttl0q$1asu$1@cabale.usenet-fr.net>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.1
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
<news:ttt2vc$lpku$1@dont-email.me> 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