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, 2nd Edition 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.