Référence d'Expression régulière |
![]() ![]() ![]() |
Les expressions régulières sont une manière puissante de définir des modèles de recherche et d'appariement. Beyond Compare vous permet d'utiliser des expressions régulières lors de recherche dans du texte, et lors de la spécification de règles pour classifier les textes. Le support d'expression régulière dans Beyond Compare est un sous-ensemble de la syntaxe d'Expression Régulière Compatible Perl (PCRE, Perl Compatible Regular Expression). Alors que les expressions régulières peuvent être un thème complexe, il existe plusieurs excellentes ressources à leur sujet. Une de ces ressources est un livre dont le titre est Mastering Regular Expressions. Une autre excellente ressource est A Tao of Regular Expressions de Steve Mansour, une copie peut être trouvée à : www.scootersoftware.com/RegEx.html Une expression régulière est composée de deux types de caractère : les caractères normaux, et les méta-caractères. Lors de l'exécution de recherche d'égalité, les méta-caractères ont une signification spéciale pour contrôler comment le test d'égalité sera fait, et servent de caractères génériques. Les caractères normaux sont toujours comparés tels quels. Pour comparer à un méta-caractère, déspécialiser-le ("escape") de sa signification en le préfixant avec un antislash "\" (Caractère d'échappement, "Escape"). Il y a de nombreux types de méta-caractères, chacun étant détaillé ci-dessous. Méta-caractères - Séquence d'échappement
Méta-caractères - Classes prédéfinies Les classes prédéfinies de caractère correspondent avec n'importe lequel d'un certain sous-ensemble de caractères. Les classes suivantes sont déjà définies pour vous.
Vous pouvez aussi construire vos propres classes de caractères en entourant le groupe de caractères entre crochets "[]". Les classes prédéfinies (excepté ".") peuvent être utilisées entre les crochets, et si un tiret "-" apparaît entre deux caractères, cela représente un intervalle. Donc [a-z] représente toutes les lettres minuscules, et [a-zA-Z] représente les lettres minuscules et majuscules. Pour inclure un "-" dans la classe, placez-le au début ou à la fin de la chaîne de caractères. Si le premier caractère entre les crochets est un accent circonflexe "^", alors la classe représente tous les caractères excepté ceux qui sont spécifiés. [^a-z] représente tous les caractères qui ne sont pas des caractères alphabétiques minuscules. Méta-caractères - Alternatives En plaçant un "|" entre deux groupes d'éléments, des correspondances alternatives peuvent être représentées. a|b correspondra à a ou b. ab|cd correspondra à "ab" ou "cd", mais pas à "ac". "|" regroupe les caractères à partir du délimiteur de la séquence ("(", "[" ou le début de la séquence) jusqu'à elle-même, et ensuite jusqu'à la fin de la séquence. Des alternatives peuvent être placées entre parenthèses "()" pour faire en sorte que ce que l'on recherche soit évident, comme dans a(bc|de)f. Les alternatives sont appariées de gauche à droite. bey|beyond correspondra à bey, même si la chaîne de caractères est "beyond". Méta-caractères - Ancrage (Position) Les méta-caractères suivants contrôlent où la correspondance doit avoir lieu sur une ligne. Note : \A et \Z correspondent respectivement avec le début et la fin du texte, mais comme Beyond Compare exécute la recherche sur la base d'une ligne, ceux-ci ont le même effet que ^ et $.
Méta-caractères - Répétitions N'importe quoi dans une expression régulière peut être suivi par un méta-caractère de répétition (opérateur itératif) qui s'applique à l'élément précédent. Il y a deux types de répétition - gourmande ("greedy") ou non gourmande. Les répétitions gourmandes correspondent avec autant de caractères qu'elles peuvent, les non-gourmandes avec aussi peu qu'elles peuvent. Gourmande :
Non gourmande :
Méta-caractères - Sous-expressions Les parenthèses "()" peuvent également être utilisées pour grouper des caractères afin de les utiliser avec des itérations et des références arrières (discutées ci-dessous). (bey){4,5} correspondra à 4 et à 5 fois les occurrences de "bey". (abc|[0-9])* correspondra à n'importe quelle combinaison de "abc" et des chiffres de 0 à 9 (ex. "abc5", "679abc" et "abc77abc"). Méta-Caractères - Références arrières Chaque séquence de caractères qui correspond dans un groupe "()" sera sauvegardée comme une sous-expression à laquelle vous pourrez vous référer plus tard avec \1 à \9, qui se réfèrent aux sous-expressions de gauche à droite. b(.)\1n correspondra à "been" et à "boon", mais pas à "bean", ni à "ben" ou "beeen". Modificateurs Les modificateurs permettent de modifier le comportement de la correspondance à partir de ce point. Si le modificateur est contenu dans une sous-expression, il affecte uniquement cette sous-expression. Utilisez (?i) et (?-i) pour contrôler la sensibilité à la casse de la correspondance. Exemples :
Voir également |