in reply to Re^2: How to match last character of string, even if it happens to be a newline?
in thread How to match last character of string, even if it happens to be a newline?
$text_1 = "abc\nd";
$text_1 =~ m/.*(.|\n)/;
...
Should print d
A narration of m/.*(.|\n)/ might be:
Indeed, if your regex has no operator introduced after Perl version 5.6, this kind of narration is what YAPE::Regex::Explain will give you:
(There are newer and better regex parser/explainers around, but I like this one, limited as it is, for its explanatory style.)c:\@Work\Perl\monks>perl -wMstrict -le "use YAPE::Regex::Explain; print YAPE::Regex::Explain->new(qr/.*(.|\n)/)->explain(); " The regular expression: (?-imsx:.*(.|\n)) matches as follows: NODE EXPLANATION ---------------------------------------------------------------------- (?-imsx: group, but do not capture (case-sensitive) (with ^ and $ matching normally) (with . not matching \n) (matching whitespace and # normally): ---------------------------------------------------------------------- .* any character except \n (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- ( group and capture to \1: ---------------------------------------------------------------------- . any character except \n ---------------------------------------------------------------------- | OR ---------------------------------------------------------------------- \n '\n' (newline) ---------------------------------------------------------------------- ) end of \1 ---------------------------------------------------------------------- ) end of grouping ----------------------------------------------------------------------
Give a man a fish: <%-{-{-{-<
|
|---|