Practice: describing charactersExercices : décrire des caractères
Key pointsL'essentiel
Describing charactersDécrire des caractères
An ordinary character stands for itself; take on a special meaning, which a backslash cancels.
Un caractère ordinaire se représente lui-même ; les ont une signification spéciale, qu'une barre oblique inversée annule.
metacharacter · fr: métacaractère métacaractère · en : metacharacter regular expressionsexpressions rationnelles : A character with a special meaning inside a regular expression (such as ., *, [ or ^) instead of matching itself literally; a backslash escape turns it back into a literal character.Caractère qui, dans une expression rationnelle, a une signification spéciale (comme ., *, [ ou ^) au lieu de se représenter lui-même ; une barre oblique inversée le ramène à sa valeur littérale.
Key pointsL'essentiel
Describing charactersDécrire des caractères
A in square brackets matches ONE character out of those listed inside it; a hyphen makes ranges and a leading ^ inverts the selection.
Une entre crochets correspond à UN caractère parmi ceux qui y sont listés ; le tiret y définit des plages et un ^ initial inverse la sélection.
character class · fr: classe de caractères classe de caractères · en : character class regular expressionsexpressions rationnelles : A regular-expression construct written in square brackets that matches exactly one character from the listed set or range, optionally negated with ^.Construction d'expression rationnelle entre crochets qui correspond à exactement un caractère parmi l'ensemble ou la plage indiquée, avec négation possible par ^.
Key pointsL'essentiel
Describing charactersDécrire des caractères
The most frequent sets have an abbreviation: \d for digits, \w for word characters, \s for whitespace, and the uppercase \D \W \S for their opposites.
Les ensembles les plus fréquents ont leur abréviation : \d les chiffres, \w les caractères de mot, \s les blancs, et les majuscules \D \W \S pour leur inverse.
Key pointsL'essentiel
Describing charactersDécrire des caractères
\w stops at : for French, \p{L} covers accented letters, as long as the u flag is on.
\w s'arrête à l' : pour le français, \p{L} couvre les lettres accentuées, à condition que le drapeau u soit actif.
ASCII · fr: code ASCII code ASCII · en : ASCII text encodingencodage du texte : A 7-bit coded character set of 128 characters for information interchange, standardized as ANSI X3.4 and adopted as the US national variant of ISO/IEC 646. It contains the unaccented letters of the English alphabet, the digits, common punctuation and a set of control codes, and no accented letter. The first 128 characters of Unicode are the ASCII ones, in the same order, which is why UTF-8 stores them in a single byte.Jeu de caractères codés sur sept bits comptant 128 caractères, destiné à l'échange d'information, normalisé sous le nom ANSI X3.4 et repris comme variante nationale américaine de la norme ISO/IEC 646. Il contient les lettres non accentuées de l'alphabet anglais, les chiffres, la ponctuation courante et un ensemble de codes de commande, et aucune lettre accentuée. Les 128 premiers caractères d'Unicode sont ceux d'ASCII, dans le même ordre, ce qui explique qu'UTF-8 les stocke sur un seul octet.
Page 1Page 1
Literal characters and the dotCaractères littéraux et le point
A letter, a digit or a space in an expression matches exactly that character in the text.
The search is case-sensitive and does not stop at whole words: /les/ also finds the end of "marbles".
The dot is the first : it matches any single character except a line break.
Une lettre, un chiffre ou une espace dans une expression correspond exactement à ce caractère dans le texte.
La recherche est sensible à la casse et ne s'arrête pas aux mots entiers : /les/ trouve aussi la fin de « utiles ».
Le point est le premier : il correspond à n'importe quel caractère, sauf un retour à la ligne.
metacharacter · fr: métacaractère métacaractère · en : metacharacter regular expressionsexpressions rationnelles : A character with a special meaning inside a regular expression (such as ., *, [ or ^) instead of matching itself literally; a backslash escape turns it back into a literal character.Caractère qui, dans une expression rationnelle, a une signification spéciale (comme ., *, [ ou ^) au lieu de se représenter lui-même ; une barre oblique inversée le ramène à sa valeur littérale.
Page 1Page 1
Figure 1. Each occurrence of “regex” is a match. The test string in these screenshots is French. Figure 1. Chaque occurrence de « regex » est une correspondance.
Page 1Page 1
Figure 2. /les/ matches inside words as well, here inside “utiles”. Figure 2. /les/ correspond aussi à l'intérieur des mots.
Page 1Page 1
Figure 3. A one-character expression, the space: 67 matches in this text. Figure 3. Une expression d'un seul caractère, l'espace : 67 correspondances dans ce texte.
Page 2Page 2
Escaping special charactersÉchapper les caractères spéciaux
To search for a literally (., , ?…), put a backslash in front of it: that is escaping.
/./ matches any character; /\./ matches a real dot.
The backslash escapes itself: /\\/ finds one literal \.
Pour chercher un littéralement (., , ?…), on le fait précéder d'une barre oblique inversée : c'est l'échappement.
/./ correspond à n'importe quel caractère ; /\./ correspond à un vrai point.
La barre oblique inversée s'échappe elle-même : /\\/ trouve un \ littéral.
metacharacter · fr: métacaractère métacaractère · en : metacharacter regular expressionsexpressions rationnelles : A character with a special meaning inside a regular expression (such as ., *, [ or ^) instead of matching itself literally; a backslash escape turns it back into a literal character.Caractère qui, dans une expression rationnelle, a une signification spéciale (comme ., *, [ ou ^) au lieu de se représenter lui-même ; une barre oblique inversée le ramène à sa valeur littérale.
Page 3Page 3
Character classesClasses de caractères
Square brackets [...] define a : ONE character out of those listed inside them.
A class replaces the dot where the dot is too permissive: /fixe[ds]/ is exact where /fixe./ also takes "fixer".
Inside the brackets, most go back to being literal: [.] is a real dot.
Les crochets [...] définissent une : UN caractère parmi ceux qui y sont listés.
Une classe remplace le point quand le point est trop permissif : /peu[xt]/ est exact là où /peu./ prend aussi « peur ».
À l'intérieur des crochets, la plupart des redeviennent littéraux : [.] est un vrai point.
character class · fr: classe de caractères classe de caractères · en : character class regular expressionsexpressions rationnelles : A regular-expression construct written in square brackets that matches exactly one character from the listed set or range, optionally negated with ^.Construction d'expression rationnelle entre crochets qui correspond à exactement un caractère parmi l'ensemble ou la plage indiquée, avec négation possible par ^.
metacharacter · fr: métacaractère métacaractère · en : metacharacter regular expressionsexpressions rationnelles : A character with a special meaning inside a regular expression (such as ., *, [ or ^) instead of matching itself literally; a backslash escape turns it back into a literal character.Caractère qui, dans une expression rationnelle, a une signification spéciale (comme ., *, [ ou ^) au lieu de se représenter lui-même ; une barre oblique inversée le ramène à sa valeur littérale.
Page 4Page 4
Ranges and negationPlages et négation
Inside a class, the hyphen defines a range: [a-z], [0-9], and several ranges fit inside the same brackets.
A ^ in first position inverts the class: any character EXCEPT those listed.
Ranges follow the order of the characters, not the alphabet of a language: [a-z] covers neither "é" nor "ç".
Dans une classe, le tiret définit une plage : [a-z], [0-9], et plusieurs plages se combinent dans les mêmes crochets.
Un ^ en première position inverse la classe : tout caractère SAUF ceux qui sont listés.
Les plages suivent l'ordre des caractères, pas l'alphabet du français : [a-z] ne couvre ni « é » ni « ç ».
Page 5Page 5
Whitespace charactersLes caractères d'espacement
There are different types of whitespace: \t is a tab, \n a .
The ordinary space has no abbreviation: you simply type a space into the expression.
These characters are in the file like any other, so an expression can find them and replace them.
Il existe différents types de blancs : \t est une tabulation, \n un .
L'espace ordinaire n'a pas d'abréviation : on tape simplement une espace dans l'expression.
Ces caractères sont dans le fichier comme les autres, et une expression peut donc les trouver et les remplacer.
line break · fr: saut de ligne saut de ligne · en : line break text encodingencodage du texte : The character that ends a line in a file, stored in it like any other and invisible on screen. It is what divides a file into lines, so a file's line count is fixed: two of them make three lines, whatever width the window is. Windows writes it as two characters, a carriage return followed by a line feed (CR LF), where macOS and Linux use one (LF).Caractère qui termine une ligne dans un fichier, enregistré comme n'importe quel autre et invisible à l'écran. C'est lui qui découpe le fichier en lignes, si bien que leur nombre est fixe : deux sauts de ligne font trois lignes, quelle que soit la largeur de la fenêtre. Windows l'écrit au moyen de deux caractères, un retour chariot suivi d'un saut de ligne (CR LF), là où macOS et Linux n'en emploient qu'un (LF).
To avoid retyping the same character sets over and over, the most frequent ones have their own abbreviation: \d for digits, \w for "word" characters, \s for whitespace.
The uppercase versions of the abbreviations invert their meaning: \D, \W, \S match everything EXCEPT the set in question.
[0-9] and \d produce the same matches, but \d reads better: it is the form to prefer.
Pour éviter de retaper sans cesse les mêmes ensembles de caractères, les plus courants ont leur abréviation : \d pour les chiffres, \w pour les caractères « de mot », \s pour les blancs.
Les versions majuscules des abréviations inversent leur sens : \D, \W, \S correspondent à tout SAUF l'ensemble en question.
[0-9] et \d donnent les mêmes correspondances, mais \d est plus lisible : c'est la forme à préférer.
Page 7Page 7
Accents and UnicodeAccents et Unicode
\w and [a-z] contain no accented letter: to them "é" is not a letter, which matters a great deal for French.
Unicode properties fill the gap: \p{L} matches any letter, accented ones included (\p{Lu} uppercase, \p{Ll} lowercase).
\p{...} needs the u , which is on throughout the module.
Matches never overlap: a character that has been consumed cannot serve again for the next match.
\w et [a-z] ne contiennent aucune lettre accentuée : pour eux, « é » n'est pas une lettre, ce qui compte beaucoup pour le français.
Les propriétés Unicode comblent le manque : \p{L} correspond à n'importe quelle lettre, accents compris (\p{Lu} majuscule, \p{Ll} minuscule).
\p{...} exige le u, actif partout dans le module.
Les correspondances ne se chevauchent jamais : un caractère consommé ne peut pas resservir pour la correspondance suivante.
flag · fr: drapeau drapeau · en : flag regular expressionsexpressions rationnelles : In programming, an option turned on or off for a whole operation, changing how it is executed.En programmation, option activée ou désactivée pour toute une opération, qui modifie sa façon de s'exécuter.
Page 7Page 7
Figure 4. In “Il y a à voir”, the pattern / \p{L} / finds two matches. The “a” is not one of them: the space to its left has already been used. Figure 4. Dans « Il y a à voir », le motif / \p{L} / trouve deux correspondances. Le « a » n'en fait pas partie : l'espace à sa gauche a déjà servi.
The page behind this slideLa page derrière cette diapositive
1 / 17The browser blocked the window. Allow pop-ups for this site, then try again.Le navigateur a bloqué la fenêtre. Autorisez les fenêtres surgissantes pour ce site, puis réessayez.ExitQuitter