Changes

Jump to: navigation, search

Fr:Manuel wiki pour Gramps 5.1 - Les filtres

12 bytes added, 17:21, 4 April 2021
m
Expressions rationnelles: corrections
== Expressions rationnelles==
Les expressions rationnelles (ou expressions régulières, ou motif, ou sous la forme de l'abbréviation regex) sont des outils rapides et puissants pour décrire du texte qui doit correspondre à un modèle. L'utilisation des regex dans les filtres Gramps est une option.
La recherche par regex est une fonctionnalité avancée désactivée par défaut. Pour les filtres personnalisés, chaque règle individuelle a une l'option{{checkbox|1}}{{man label|Utiliser les expressions rationnelles}} dans la boite de dialogue de la règle. Le Gramplet Filtre propose la même option pour saisir des expressions rationnelles directement dans les chaînes utilisées dans les champs de recherche.
Par exemple, si vous cherchez un nom de famille commençant par "B", et finissant par "tin" alors vous pourrez utiliser des expressions rationnelles qui décriront ce motif. Çà peut être :
Les expressions rationnelles sont puissantes avec de multiples options. Nous utilisons le système des expressions régulières du language Python que nous allons documenter ici. De plus, vous pouvez avoir comme référence les expressions régulières Python.
''blanc'' - Le terme "blanc" est utiliser ci-dessous pour signifier un ou plusieurs caractères que vous ne voyez pas. Par exemple, les fabulationstabulations, espaces, passage à la ligne.
Des caractères ont une signification particulière avec les expressions rationnelle. Ce sont :
* '<code>^</code>' correspond au début du texte
* '<code>$</code>' correspond à la fin du texte
* '<code>*</code>' correspond à zéro ou plus de plusieurs fois l'item précédent* '<code>+</code>' correspond à un ou plus de plusieurs fois l'item précédent* '<code>?</code>' correspond à zéro ou un de une fois l'item précédent (le rend optionnel)
* '<code>{</code>' - début d'un nombre de correspondances
* '<code>}</code>' - termine le nombre de correspondances
* '<code>)</code>' - fin d'un groupe
Des motifs particuliers commencent avec '<code>\</code>' représente un ensemble prédéfini de caractères souvent utiles, comme un ensemble de chiffres, de lettres ou un ensemble de quoi que ce soit non blanc. Les motifs spéciaux prédéfinis suivant sont une un sous-ensemble de ceux qui sont disponibles.
* <code>\d</code> correspond à n'importe quel le chiffre ; équivalent a la classe <code>[0-9]</code>.
* <code>\W</code> correspond à n'importe quel caractère de non-alphanumérique ; équivalent a la classe <code>[^a-zA-Z0-9_]</code>.
Le qualificatif de répétition quantificateur le plus compliqué est <code>{m,n}</code>, où <code>m</code> et <code>n</code> sont des entiers décimaux. Ces qualificatifs quantificateurs signifient qu'il doit y avoir au moins <code>m</code> répétitions, et au plus <code>n</code>.
=== Trouver toutes les valeurs définies ou les blancs ===
=== Groupes et ensembles ===
Les groupes sont marqués encadrés par le méta-caractère les opérateurs '<code>('</code>, '<code>)</code>'. '<code>(</code>' et '<code>)</code>' ont tout à fait la même signification que dans les expressions mathématiques ; ils regroupent les expressions contenues à l'intérieur d'eux, et vous pouvez répéter les contenus d'un groupe avec un qualifiant de répétition, comme <code>*, +, ?, ou {m,n}</code>. Par exemple, <code>(ab)*</code> va correspondre à zéro ou plus de répétitions de <code>ab</code>.
Les ensembles dont marqués avec les méta-caractères opérateurs '<code>[</code>' et '<code>]</code>'.
Vous pouvez considérer les groupes comme une listes de possibilités séparés par le méta-caractère l'opérateur '<code>|</code>', ou chaque possibilité comprend un, plusieurs ou zéro caractères et les ensembles comme une liste de possibilités où chaque possibilité est un seul caractère.
=== Exemples ===
* '''<code>^B.*tin$</code>''' - correspond à tous les textes qui commencent par un '<code>B</code>', suivi par n'importe quelle chaîne, finissant avec '<code>tin</code>'.
** matchescorrespond : '''<code>Bertin</code>''', '''<code>Berutin</code>''', '''<code>Baroutin</code>'''** does not matchne correspond pas : '''<code>Berutino</code>'''
* '''<code>^B.*tin</code>''' - correspond à tous les textes qui commencent par un '<code>B</code>', suivi par n'importe quelle chaîne, suivi par '<code>tin</code>' (qui peut être suivi par autre chose).
** matchescorrespond : '''<code>Bertin</code>''', '''<code>Berutino</code>''', '''<code>Baroutin</code>''', '''<code>Bertingardot</code>''', '''<code>Batin</code>''', '''<code>Baratine</code>'''
** Ne correspond pas : '''<code>Bertoin</code>'''
====Variations communes d'un nom de famille====
;Exemple 1 : En utilisant l'expression '''<code>Eri(ch|ck|k|c)(ss|s)on</code>''' les noms suivant correspondent sont reconnus :
<pre>
Erikson
<hr>
;Exemple 2 : En utilisant l'expression '''<code>Ba(in|yn|m|n)bri(dge|cke|g(g|e|))</code>''' les noms suivant correspondent sont reconnus :
<pre>
Bainbricke
<hr>
;Exemple 3 : En utilisant l'expression '''<code>n(es|oua|oai|o[iya]|a[iy])r(r|)(on|((e|)au(x|t|d|lt|)))</code>''' les noms suivant correspondent sont reconnus :
<pre>
nairaud
847
edits

Navigation menu