דילוג לתוכן המרכזי
eLearner.app
מודול 3 · שיעור 1 מתוך 49/32 בקורס~8 min
שיעורי מודול (1/4)

התחלה וסיום: `^` ו-`$`

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

פעילות גופנית#regex.m3.l1.e1
ניסיונות: 0טוען...

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

טוען עורך...
הצג רמז

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

הפתרון זמין לאחר 3 ניסיונות

Review exercise

פעילות גופנית#regex.m3.l1.e2
ניסיונות: 0טוען...

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

טוען עורך...
הצג רמז

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

הפתרון זמין לאחר 3 ניסיונות

Additional challenge

פעילות גופנית#regex.m3.l1.e3
ניסיונות: 0טוען...

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).

טוען עורך...
הצג רמז

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

הפתרון זמין לאחר 3 ניסיונות