Affinity prend en charge l’utilisation d’expressions régulières pour trouver dans un document un contenu qui correspond aux modèles spécifiés.
Les expressions régulières sont utilisées dans plusieurs contextes dans Affinity :
La rédaction d’expressions régulières implique une syntaxe spéciale pour spécifier les modèles que vous souhaitez trouver dans le texte. Les exemples de scénarios et d’expressions fournis ci-dessous illustrent la syntaxe courante dont vous aurez probablement besoin pour rédiger vos propres expressions.
Un guide complet exploitant la pleine puissance des expressions régulières dépasse la portée de l’aide Affinity. Vous pouvez en apprendre davantage à partir de ressources en ligne telles que www.regular-expressions.info et regexone.com.
Lorsqu’une expression correspond à des lettres, la sous-fenêtre États est sensible à la casse, sauf si vous indiquez explicitement le contraire dans l’expression. La sous-fenêtre Rechercher et remplacer est sensible à la casse lorsque l’option de formatage Respecter la casse de la zone Rechercher est activée.
Sur chaque sous-fenêtre, la sensibilité à la casse peut être modifiée pour une partie ou la totalité d’une expression :
La casse de lettres spécifiques dans une expression peut être ignorée en utilisant une classe de caractères. Par exemple, pour faire correspondre la lettre a dans les deux casses, utilisez [AA] dans votre expression.
Les classes de caractères peuvent également être utilisées lors de la correspondance d’une plage de caractères. Par exemple, [a-EA-E] fait correspondre une lettre individuelle de a à e, quelle que soit sa casse.
Dans un document Affinity Photo, nous avons utilisé des outils de retouche pour éliminer la poussière et les imperfections d’une photo en peignant sur les calques au-dessus.
En conséquence, chacun de ces calques est appelé Suppression poussière ou Suppression défauts.
Dans la sous-fenêtre États, nous pouvons ajouter une requête qui vérifie que les noms de calque correspondent à l’expression régulière (?i)suppression (poussière|défaut), ce qui signifie « suppression », suivi d’un espace, puis soit de poussière, soit de défaut. La casse est ignorée pour toute l’expression.
Dans un document Affinity Designer, nous avons utilisé le nom de calque remplissage décalé pour identifier les calques qui ont été repositionnés manuellement pour créer un effet de mauvaise impression fait à la main.
Il est possible que nous ayons tapé ces mots dans l’ordre inverse à certains endroits.
Dans la sous-fenêtre États, nous pouvons ajouter une requête qui vérifie si les noms des calques correspondent à l’expression régulière (?i)(?=.*remplissage)(?=.*décalé).*$. Ceci correspond aux noms de calque qui contiennent les deux mots, quelle que soit leur position dans le nom. La casse est ignorée pour toute l’expression.
Dans un document Affinity Designer pour un dessin architectural de CAO, les noms de calque identifient les composants du bâtiment avec un préfixe à deux lettres, suivi d’un tiret, puis d’une ou plusieurs séries de tirets bas et de chiffres. Par exemple, SS-35_10_15.
Dans la sous-fenêtre États, nous pouvons contrôler la visibilité des calques appartenant à une catégorie de composants particulière en utilisant une expression comme [Ss][Ss](_[0-9]{1,})+. L’expression fonctionnera même si la casse du préfixe a été mal saisie.
Inversement, nous pouvons contrôler la visibilité de toutes les autres catégories de composants avec un petit changement près du début de l’expression, qui devient (^[Ss][Ss])(_[0-9]{1,})+.
Dans un document Affinity Publisher, nous voulons trouver les occurrences d’un mot dans notre texte, mais omettre les occurrences précédées d’un mot spécifique.
Dans la sous-fenêtre Rechercher et remplacer, sélectionnez Expression régulière dans les options de formatage de la zone de dialogue Rechercher pour utiliser l’expression (?>!proin )aliquam. Les résultats incluront les occurrences d’aliquam sauf celles précédées de proin et d’un espace.
Il est possible d’exclure les occurrences contenant un des mots précédents. Par exemple, pour exclure les occurrences où le mot texte est précédé de l’article « le » ou « un », utilisez l’expression (?>!(le|un) )texte.