Back to Home

Anchors: string start ^ and end $

The caret pattern:^ and dollar pattern:\( characters have special meaning in a regexp. They are called "anchors". The caret pattern:^ matches at the beginning of the text, and the dollar pattern:\) – at the end. For instance, let’s test if the text starts with Mary: The pattern pattern:^Mary means: “string start and then Mary”. Similar to this, we can test if the string ends with snow using pattern:snow$: In these particular cases we could use string methods startsWith/endsWith instead. Regular expressions should be used for more complex tests.

Testing for a full match

Both anchors together pattern:^…\( are often used to test whether or not a string fully matches the pattern. For instance, to check if the user input is in the right format. Let's check whether or not a string is a time in 12:34 format. That is: two digits, then a colon, and then another two digits. In regular expressions language that's pattern:\d\d:\d\d: Here the match for pattern:\d\d:\d\d must start exactly after the beginning of the text pattern:^, and the end pattern:\) must immediately follow. The whole string must be exactly in this format. If there’s any deviation or an extra character, the result is false. Anchors behave differently if flag pattern:m is present. We’ll see that in the next article.

let str1 = "Mary had a little lamb";
alert( /^Mary/.test(str1) ); // true
Example:

Follow the lesson from Microsoft Web-Dev-For-Beginners course

Tags: string