2.5. Match Something at the Start and/or the End of a Line
Problem
Create four regular expressions. Match the word alpha
, but only if it occurs at the very
beginning of the subject text. Match the word omega
, but only if it
occurs at the very end of the subject text. Match the word begin
, but only if it
occurs at the beginning of a line. Match the word end
, but only if it
occurs at the end of a line.
Solution
Start of the subject
^alpha
Regex options: None (“^ and $ match at line breaks” must not be set) |
Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python |
\Aalpha
Regex options: None |
Regex flavors: .NET, Java, PCRE, Perl, Python, Ruby |
End of the subject
omega$
Regex options: None (“^ and $ match at line breaks” must not be set) |
Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python |
omega\Z
Regex options: None |
Regex flavors: .NET, Java, PCRE, Perl, Python, Ruby |
Start of a line
^begin
Regex options: ^ and $ match at line breaks |
Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby |
End of a line
end$
Regex options: ^ and $ match at line breaks |
Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby |
Discussion
Anchors and lines
The regular expression tokens ‹^
›, ‹$
›, ‹\A
›, ‹\Z
›, and ‹\z
› are called anchors.
They do not match any characters. Instead, they match
at certain positions, effectively anchoring the regular expression
match at those positions.
A line is the part of the subject text that lies between the start of the subject and a line break, between two line breaks, or between ...
Get Regular Expressions Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.