The regular expression:
(?m-isx:\A.*\nD$)
matches as follows:
NODE EXPLANATION
----------------------------------------------------------------------
(?m-isx: group, but do not capture (with ^ and $
matching start and end of line) (case-
sensitive) (with . not matching \n)
(matching whitespace and # normally):
----------------------------------------------------------------------
\A the beginning of the string
----------------------------------------------------------------------
.* any character except \n (0 or more times
(matching the most amount possible))
----------------------------------------------------------------------
\n '\n' (newline)
----------------------------------------------------------------------
D 'D'
----------------------------------------------------------------------
$ before an optional \n, and the end of a
"line"
----------------------------------------------------------------------
) end of grouping
----------------------------------------------------------------------
|