Comme décrit dans la section Recherche à l'aide de requêtes complexes, vous pouvez utiliser des expressions régulières en les plaçant entre guillemets (" "), et en les faisant précéder du mot clé QLREGEX.
Une expression régulière est constituée d'un jeu de chaînes correspondant à certains modèles. Pour spécifier ces modèles, les caractères spéciaux $, ^, ., *, +, ?, [, ], (, ), \, se comportent comme des opérateurs avec tous les caractères ordinaires restants. Un caractère ordinaire est une expression régulière simple correspondant à un caractère et rien d'autre, par exemple, h correspond à h et rien d'autre. Pour qu'un caractère spécial représente un caractère ordinaire, il doit être précédé d'une barre oblique inverse \. Par exemple, \$ correspond à $.
Les indications ci-dessous décrivent comment utiliser les expressions régulières de la manière la plus efficace.
-
Utilisée avec le mot clé QLREGEX dans une recherche Content Server, l'expression régulière spécifiée est recherchée dans tous les mots des objets Content Server. Par exemple, QLREGEX "cha" recherche les objets contenant au moins un mot avec cha, comme chat, charme, marchand.
-
Vous pouvez lier deux expressions quelconques <x> et <y> pour former une expression régulière qui correspond à une chaîne si <x> correspond au début de cette chaîne et <y> correspond au reste de la chaîne. Par exemple, h\$ correspond à h$.
-
L'utilisation du mot clé QLREGEX avec des expressions régulières dans des requêtes de locutions est presque toujours moins efficace que l'utilisation du mot clé OR pour la création de la même requête, en raison des opérations de traitement nécessaires aux expressions régulières.
-
En restreignant et en limitant les recherches, vous économisez du temps, en particulier pour les recherches de préfixes. Par exemple, pour rechercher les numéros de pièces 1995 commençant par d, une requête utilisant QLREGEX "^d" demande plus de temps que celle utilisant QLREGEX "^d1995".
-
Evitez les recherches d'expressions régulières portant sur des suffixes courts tels que ez, car le moteur de recherche doit analyser tous les mots de l'index de gauche à droite pour trouver les suffixes. Il est préférable de restreindre votre recherche en combinant des suffixes et des préfixes dans les expressions régulières ou d'utiliser l'opérateur Mot se terminant par.
Vous pouvez utiliser la liste d'opérateurs suivante dans les expressions régulières pour décrire des jeux de chaînes.
Tableau 1-3 : Utilisation d'opérateurs pour décrire des jeux de chaînes
Opérateur |
Description |
. |
Correspond à un caractère quelconque Par exemple, \a.2 correspond à tous les mots contenant une chaîne de trois caractères commençant par a et se terminant par 2 comme ab2z, aa2 ou aaa2zzz. |
[] |
Délimite un jeu ou une étendue de caractères. Les règles suivantes s'appliquent :
• |
Vous pouvez mélanger les étendues de caractères et les caractères uniques. |
• |
Dans un jeu de caractères, ], - et ^ ont une signification particulière ; tous les autres caractères ne représentent que leur propre caractère. |
• |
Le signe moins, -, est un opérateur d'étendue entre deux caractères. |
• |
L'accent circonflexe, ^, ne peut être utilisé qu'en première position dans un jeu de caractères. | Par exemple, [abc] correspond à a, b ou c. [a-z] correspond à tout caractère en lettre minuscule. [-$a0-9] correspond à -, $, a ou tout chiffre. |
[^] |
Commence un jeu de caractère qui complète le jeu de caractères spécifié, il correspond à n'importe quel caractère sauf ceux qui sont spécifiés. Si - ou ] suit [^, - ou ] est considéré comme le premier caractère. Par exemple, [^a-z] correspond à tout caractère, à l'exception des lettres de l'alphabet. [^]^a-z0-9] correspond à tout caractère, à l'exception de ], ^ et des caractères alphanumériques. |
^ |
Correspond à la chaîne vide au début d'un mot. Par exemple, ^sp correspond à toute occurrence de sp au début d'un mot seulement comme dans spécial, mais pas dans aspect. |
* |
Correspond à la plus courte expression régulière qui précède l'opérateur zéro fois ou plus. Toutefois, l'opérateur * suivant une expression régulière contenant ^ au début d'un mot est interprété comme l'expression avec n'importe quelle fin comme un caractère générique * dans les requêtes. Par exemple, ad* correspond à a, ad, add, etc. |
+ |
Correspond à la plus courte expression régulière qui précède l'opérateur lorsque celle-ci apparaît au moins une fois. Par exemple, tr[ei]+ correspond à tre, tri, tree, trie, triie, etc. Il ne correspond pas à tr. |
? |
Correspond à la plus courte expression régulière qui précède l'opérateur lorsque celle-ci apparaît zéro ou une fois. Par exemple, se[ea]? correspond uniquement à se, sea et see. |
$ |
Correspond à la chaîne vide à la fin d'un mot. Par exemple, the+$ correspond aux caractères the lorsqu'ils apparaissent à la fin d'un mot ou d'une ligne. |
| |
Sépare deux alternatives. Si x et y sont des expressions régulières, alors x|y correspond à tout ce à quoi correspond x ou y. Par exemple,mer|lac correspond uniquement à mer et lac. [abc] peut également s'écrire sous la forme a|b|c. |
() |
Groupe des éléments, comme des alternatives ou des expressions régulières complexes, de sorte que vous pouvez les associer avec d'autres expressions régulières et opérateurs. Par exemple,(ro)?(co)+ correspond à tout nombre non nul de chaînes co précédées par rien ou ro. Par exemple, co, coco, rococo, etc. |