4 Les éléments du menu

4.2 Editer

4.2.7 Chercher ...

4.2.7.1 Expressions régulières (regular expressions)
Pour affiner encore la recherche, Family Ties propose par défaut la recherche avec des expressions régulières. Vous constaterez que, bien que cet outil soit très puissant, il n'est pas toujours facile à utiliser.
Dans les petits arbres généalogiques, vous n'aurez pas à utiliser d'expressions régulières, vous pouvez donc enregistrer cette section pour plus tard. Si, à un moment donné, vous n'êtes plus satisfait des options de recherche simple, revenez à ce chapitre et découvrez les possibilités étendues des expressions régulières.

Cette partie, à part quelques ajustements et changements mineurs aux exemples, a été tirée du manuel du lecteur de nouvelles MacSOUP et l'utilisation a été aimablement autorisée par Stefan Haller. Merci beaucoup pour cela.
Les expressions régulières sont un moyen très puissant de rechercher des passages de texte qui correspondent à un certain modèle ; par exemple, tout mot composé uniquement de lettres majuscules, ou toute occurrence de deux mots identiques séparés par un ou plusieurs espaces, ou d'innombrables autres modèles.

(Ne me demandez pas pourquoi on appelle ces choses des expressions régulières. Le terme anglais est "regular expression", et je l'ai simplement traduit en allemand sans y réfléchir davantage :-)

L'expression régulière la plus simple est simplement un morceau de texte à rechercher. L'expression régulière

xyz

il suffit donc de rechercher le texte "xyz".

Mais il y a un certain nombre de caractères qui ont une signification particulière dans une expression régulière. Ces caractères sont:

( ) [ ] ^ $ . * + ? { } | \

Si vous souhaitez rechercher l'un de ces caractères, vous devez la faire précéder d'une barre oblique inversée.

Par exemple, si vous souhaitez rechercher le texte "xyz", vous devez utiliser l'expression régulière

xyz\?
Pour rechercher la barre oblique inversée elle-même, tapez \\\N. Une exception à cette règle est lorsque les caractères spéciaux se trouvent dans une plage de caractères, c'est-à-dire entre crochets (voir ci-dessous) ; dans ce cas, aucune barre oblique inversée ne doit être placée devant eux.
D'accord, mais que font réellement ces caractères spéciaux ? Commençons par le point. Un point (.) est une sorte de caractère de remplacement auquel n'importe quel caractère correspond (exactement un). Par exemple, l'expression régulière

H.nd
Les passages du texte „Hund", „Hand", "H=nd" etc. Mais il ne trouvera pas le texte "Hnd".

Les caractères * et + sont des opérateurs de répétition, ils recherchent les occurrences répétées du motif précédent. * recherche l'occurrence zéro ou répétée du modèle, + recherche l'occurrence unique ou répétée du modèle. Par exemple, l'expression régulière
a+
trouve les passages de texte "a", "aa", "aaaaaa" etc. Ces opérateurs ne s'appliquent normalement qu'au caractère qui précède immédiatement.
Par exemple, l'expression régulière
ab*
les passages de texte "ac", "abc", "abbbc" etc. Si vous souhaitez que l'opérateur s'applique à plusieurs caractères précédents, vous devez utiliser des parenthèses:
par exemple a(xy)*b trouve les textes "ab", "axyb", "axyxyb" etc. Le point d'interrogation fonctionne de manière similaire à * et +, mais il ne recherche que les occurrences nulles ou uniques du modèle précédent.

Par exemple, ab?c trouve le texte "ac" et "abc", et rien d'autre. La ligne verticale (|)1 est un opérateur OR. Il recherche l'occurrence de son opérande gauche ou de son opérande droit. Par exemple, l'expression
abc|xyz

trouve les passages de texte "abc" et "xyz", et aucun autre. Contrairement à *, + et ?, l'opérateur | s'applique non seulement aux caractères qui le suivent immédiatement, mais aussi à tout ce qui se trouve jusqu'au début et à la fin de l'expression régulière. Si vous voulez le limiter à une partie de l'expression, vous devez utiliser des parenthèses ; par exemple

H(u|ir)t

pour trouver les passages de texte "chapeau" ou "berger".

^ et $ limitent la recherche au début ou à la fin d'une ligne2. L'expression >br />
^xyz

ne trouve le texte "xyz" que s'il se trouve au début d'une ligne, et

xyz$

ne trouve le texte "xyz" que s'il est en fin de ligne. L'expression régulière

^xyz$

trouve chaque ligne qui ne contient rien de plus que le texte "xyz". Les crochets peuvent être utilisés pour spécifier un jeu de caractères. Par exemple, l'expression

[abcd]

les caractères individuels "a", "b", "c" ou "d" (et rien d'autre). Vous pouvez utiliser un trait d'union pour spécifier une plage entière, par exemple

[0-9]

pour rechercher un seul chiffre. Vous pouvez combiner ces plages avec de simples énumérations de caractères individuels ; par exemple, l'expression

[a-zA-Z0-9+=]

une lettre majuscule ou minuscule, un chiffre ou l'un des caractères + ou =. Si vous voulez inclure un trait d'union dans le jeu de caractères, il doit être le premier ou le dernier caractère du jeu, sinon il serait interprété comme une spécification de plage.
Si le premier caractère après le crochet ouvrant est un ^, alors tout caractère non spécifié dans l'ensemble sera trouvé.

{ } est un autre opérateur de répétition, similaire à * et +, sauf que vous pouvez spécifier le nombre minimum et maximum de répétitions. La syntaxe générale est p{m,n}, où p est le modèle que vous souhaitez rechercher (soit un seul caractère, soit une expression partielle entre parenthèses), m est le minimum et n le nombre maximum de répétitions. Par exemple, l'expression

(xy){2,4}

les passages de texte "xyxy", "xyxyxy" ou "xyxyxyxy" (rien d'autre).
Les formulaires spéciaux sont {n,} pour la recherche de n ou plusieurs répétitions, et {n} pour la recherche de n répétitions exactement. Par exemple, l'expression

x{5}

Le passage de texte "xxxxx" et rien d'autre.
La barre oblique inversée est toujours valable en conjonction avec le caractère qui la suit directement. Nous avons déjà vu qu'il peut être utilisé pour rechercher l'un des caractères spéciaux. Autres applications de la barre oblique inversée : \Il cherche un caractère de tabulation, et un retour à la ligne. \b limite la recherche à une limite de mot, c'est-à-dire au début ou à la fin d'un mot. Par exemple, \br /> trouve
\bA[a-z]*

chaque mot qui commence par un A majuscule, et

\bMac\b

ne trouve que le mot "Mac", mais pas "Macintosh" ou "MacDonald".
Exemples
Voyons maintenant quelques exemples utiles de la manière dont les expressions régulières peuvent être utilisées dans la pratique.

Meier trouve Meier
M[a|e]ier
M[a|e][i|y]er trouve Maier, Meier, Mayer und Meyer
M[a|e][i|y]e?r trouve Mair, Meir, Mayr, Meyr, Maier, Meier, Mayer und Meyer


Attention ! Familienbande n'est pas sensible à la casse !

On trouvera également des noms tels que Huchzermeier (et Meierahrend, car "meier" y figure) dans les exemples ci-dessus.

Dans Familienbande, l'enregistrement est transféré dans le tableau des résultats si l'un des résultats possibles est trouvé lors d'une recherche. Ainsi, pour le mot de recherche

Meier
Meier et Meierahrend ont tous deux trouvé. Pour l'exclure, vous devez également préciser les limites des mots. Par exemple:

Meier\b
pour trouver tous ceux dont le nom se termine par "meier", ou

\bMeier
alors qu'il devrait commencer par "Meier". Bien sûr, le br /> fonctionne aussi.
\bMeier\b
Si vous voulez juste trouver exactement "Meier".
Même si vous ne savez pas si la personne que vous recherchez est enregistrée avec son nom de mariage ou son nom de jeune fille, vous pouvez utiliser les Expressions Régulières. So finds

Meier|Schulz

toutes les personnes portant le nom Meier et aussi celles portant le nom Schulz (et aussi celles portant les parties du nom, c'est-à-dire Schulze, Ebmeier, Meierkord, etc.) J'espère que les exemples ont expliqué de façon assez compréhensible les possibilités étendues des expressions régulières dans la fonction de recherche de Familienbande. Dans la plupart des cas, il suffit d'entrer le terme de recherche ou une partie de celui-ci dans le champ de recherche. Le résultat peut ensuite être utilisé pour affiner la recherche en la triant par une colonne significative. Le chercheur qui possède des arbres généalogiques étendus est néanmoins le mieux soutenu possible par Familienbande.

Dans le attachement vous trouverez une liste des schémas de recherche possibles dans Familienbande (expressions régulières).

  1. Sous Mac OS X, créez la barre verticale avec la combinaison de touches [Alt] + [7].
    Sous Windows, créez le avec la combinaison de touches [AltGr] + < ;.
  2. Vous en aurez assez rarement besoin dans Familienbande, car vous avez la possibilité de choisir ici un champ de saisie spécifique. J'ai laissé la description à l'intérieur pour qu'elle soit complète.