9.3 Basic Assertions
The assertions ^ and $ identify the beginning and the end of the text string, respectively. They ensure that their adjoining regexps match at one or other end of the text string:
> (regexp-match-positions #rx"^contact" "first contact")
The regexp above fails to match because contact does not occur at the beginning of the text string. In
> (regexp-match-positions #rx"laugh$" "laugh laugh laugh laugh")
'((18 . 23))
the regexp matches the last laugh.
The metasequence \b asserts that a word boundary exists, but this metasequence works only with #px syntax. In
> (regexp-match-positions #px"yack\\b" "yackety yack")
'((8 . 12))
the yack in yackety doesn’t end at a word boundary so it isn’t matched. The second yack does and is.
The metasequence \B (also #px only) has the opposite effect to \b; it asserts that a word boundary does not exist. In
> (regexp-match-positions #px"an\\B" "an analysis")
'((3 . 5))
the an that doesn’t end in a word boundary is matched.