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).
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:
^\d{4}$ a string of exactly 4 digits, nothing before, nothing afterStructured 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
Match the whole string ONLY if it contains exactly 4 digits, nothing before and nothing after.
Show hint
Without anchors, \\d{4} would also accept '2024abc' or '12345' (first 4 digits).
Solution available after 3 attempts
Review exercise
Find the final period of the sentence, but ONLY if it is the last character of the sample.
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
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).
Show hint
Put ^ at the beginning and $ at the end of the \d+ pattern.
Solution available after 3 attempts