Skip to main content
eLearner.app
Module 3 · Lesson 1 of 49/32 in the course~8 min
Module lessons (1/4)

Start and end: `^` and `$`

Anchors are zero-width assertions: they match a position in the string, not a character. The two most basic ones are ^ (start of string) and $ (end of string).

Code
Pattern: ^Errore
Sample:  Errore: connessione persa
         ^^^^^^

Pattern: \.$
Sample:  Frase finale.
                     ^

^Errore matches the word Errore only if it is at the absolute start of the sample. \.$ matches a period only if it is the last character of the sample. Nothing more, nothing less.

Full validation

The most common idiom is to use both together: ^pattern$ matches only if the entire string corresponds to pattern. It is the basis of validation:

Code
^\d{4}$    a string of exactly 4 digits, nothing before, nothing after

Structured validation with start and end

Anchoring a pattern with ^ and $ is essential for validation. Without anchors, the regex \\d{5} will match inside abc1234567def, whereas with ^\\d{5}$ the string is rejected because the entire text must contain exactly 5 digits and nothing else.

Try it

Exercise#regex.m3.l1.e1
Attempts: 0Loading…

Match the whole string ONLY if it contains exactly 4 digits, nothing before and nothing after.

Loading editor…
Show hint

Without anchors, \\d{4} would also accept '2024abc' or '12345' (first 4 digits).

Solution available after 3 attempts

Review exercise

Exercise#regex.m3.l1.e2
Attempts: 0Loading…

Find the final period of the sentence, but ONLY if it is the last character of the sample.

Loading editor…
Show hint

\\.$ anchors the period to the end of the string. Without $ you would match the first period found.

Solution available after 3 attempts

Additional challenge

Exercise#regex.m3.l1.e3
Attempts: 0Loading…

Create a pattern that matches only if the entire input string consists exclusively of one or more digits (no other characters at start or end).

Loading editor…
Show hint

Put ^ at the beginning and $ at the end of the \d+ pattern.

Solution available after 3 attempts