Line anchorsLes ancres de ligne
Until now an expression described characters. Anchors describe something else: where in the line the pattern has to be.
/^Hello/→ “Hello” at the start of a line only;/!$/→ an exclamation mark at the end of a line only.
Unlike characters and classes, an anchor consumes no character: it marks a
position, between two characters or at the edge of the text. That is what lets
it combine with everything else without lengthening the match: /^\d/ finds a
digit, not “a digit plus the start of the line”.
Hello world
Hi there
Goodbye Hello
Hello regex
Saying Hello is differentHello world
Salut le monde
Bonjour Hello
Hello regex
Dire Hello n'est pas pareil Hello Hello Hello Hello About the weather
It rains tomorrow
Every day counts
The sun shines
On we goAujourd'hui il fait beau
Il pleut demain
Elle est partie
Le soleil brille
On verra bien A I E O A I E O . ! ?) at the end of a line.. ! ?) en fin de ligne.Hello!
How are you?
Very well thanks! I look forward to seeing you soon
That is great.
See youBonjour!
Comment allez-vous?
Très bien merci! J'ai hâte de te voir prochainement
C'est génial.
À bientôt ! ? . ! ? . An empty line
An empty line is a line that starts and ends in the same place: /^$/, the two
anchors with nothing between them. The first idea is often ^\n, but that one
matches the \n character itself: the
line break line breaksaut de ligne 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). separates lines, it is not part of one.
And a line containing only spaces is not empty, which is exactly what you are
trying to spot when you clean up a file.
^\n. But that matches the \n character itself, not an empty line: the line break separates lines, it is not part of one. An empty line is a line that starts and ends immediately. Careful: a line containing only spaces is not empty.^\n. Mais cela correspond au caractère \n lui-même, pas à une ligne vide : le retour à la ligne sépare les lignes, il n'en fait pas partie. Une ligne vide est une ligne qui commence et finit immédiatement. Attention : une ligne qui ne contient que des espaces n'est pas vide.First line
Third line
Fifth line
Seventh linePremière ligne
Troisième ligne
Cinquième ligne
Septième ligne ◆ ◆ ␣ space · ⇥ tab · ⏎ line break · ◆ empty match␣ espace · ⇥ tabulation · ⏎ retour à la ligne · ◆ correspondance vide ◆ ◆ ␣ space · ⇥ tab · ⏎ line break · ◆ empty match␣ espace · ⇥ tabulation · ⏎ retour à la ligne · ◆ correspondance vide Jusqu’ici, une expression décrivait des caractères. Les ancres décrivent autre chose : où, dans la ligne, le motif doit se trouver.
/^Bonjour/→ « Bonjour » en début de ligne seulement ;/!$/→ un point d’exclamation en fin de ligne seulement.
Contrairement aux caractères et aux classes, une ancre ne consomme aucun
caractère : elle marque une position, entre deux caractères ou au bord du
texte. C’est ce qui la rend combinable avec tout le reste sans allonger la
correspondance : /^\d/ trouve un chiffre, pas « un chiffre et le début de la
ligne ».
Hello world
Hi there
Goodbye Hello
Hello regex
Saying Hello is differentHello world
Salut le monde
Bonjour Hello
Hello regex
Dire Hello n'est pas pareil Hello Hello Hello Hello About the weather
It rains tomorrow
Every day counts
The sun shines
On we goAujourd'hui il fait beau
Il pleut demain
Elle est partie
Le soleil brille
On verra bien A I E O A I E O . ! ?) at the end of a line.. ! ?) en fin de ligne.Hello!
How are you?
Very well thanks! I look forward to seeing you soon
That is great.
See youBonjour!
Comment allez-vous?
Très bien merci! J'ai hâte de te voir prochainement
C'est génial.
À bientôt ! ? . ! ? . Une ligne vide
Une ligne vide est une ligne qui commence et finit au même endroit :
/^$/, les deux ancres sans rien entre elles. La première idée est souvent
^\n, mais celle-là correspond au caractère \n lui-même : le
saut de ligne line breaksaut de ligne 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). sépare les lignes, il n’en fait pas
partie. Et une ligne qui ne contient que des espaces n’est pas vide, ce qui
est précisément ce qu’on cherche à repérer quand on nettoie un fichier.
^\n. But that matches the \n character itself, not an empty line: the line break separates lines, it is not part of one. An empty line is a line that starts and ends immediately. Careful: a line containing only spaces is not empty.^\n. Mais cela correspond au caractère \n lui-même, pas à une ligne vide : le retour à la ligne sépare les lignes, il n'en fait pas partie. Une ligne vide est une ligne qui commence et finit immédiatement. Attention : une ligne qui ne contient que des espaces n'est pas vide.First line
Third line
Fifth line
Seventh linePremière ligne
Troisième ligne
Cinquième ligne
Septième ligne ◆ ◆ ␣ space · ⇥ tab · ⏎ line break · ◆ empty match␣ espace · ⇥ tabulation · ⏎ retour à la ligne · ◆ correspondance vide ◆ ◆ ␣ space · ⇥ tab · ⏎ line break · ◆ empty match␣ espace · ⇥ tabulation · ⏎ retour à la ligne · ◆ correspondance vide Sources
- MDN Web Docs (n.d.). Regular expressions. MDN JavaScript Guide, Mozilla. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions
Sources
- MDN Web Docs (n.d.). Regular expressions. MDN JavaScript Guide, Mozilla. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions