Re: I need regex last instance help
[email protected] (ToddAndMargo via perl6-users) Sun, 26 Oct 2025 21:35:14 -0700
| Newsgroups | perl.perl6.users |
|---|---|
| Message-ID | <[email protected]> |
On 10/26/25 8:51 PM, William Michels wrote: > In the Raku REPL: > > [0] > .Str.say for "first line\nsecond line" ~~ m:g/ ^ \w+ / > first > [0] > .Str.say for "first line\nsecond line" ~~ m:g/ ^^ \w+ / > first > second > [0] > .Str.say for "line first\nline second" ~~ m:g/ \w+ $ / > second > [0] > .Str.say for "line first\nline second" ~~ m:g/ \w+ $$ / > first > second > > HTH, Bill. > >> On Oct 26, 2025, at 14:50, ToddAndMargo via perl6-users <perl6- >> [email protected]> wrote: >> >> On 10/26/25 7:56 AM, William Michels wrote: >>> ^^ has the regex meaning "start-of-line" >>> $$ has the regex meaning "end-of-line" >>> Compare to: >>> ^ has the regex meaning "start-of-string" >>> $ has the regex meaning "end-of-string" >>> If you're analyzing input linewise (for example using a one-liner >>> with `-ne` or `-pe` flags), >>> then start-of-line equals start-of-string, and end-of-line equals >>> end- of-string. >>> HTH, Bill. >> >> >> Can I talk you out of a few examples? > Hi Bill, Thank you! Would you double check my understanding? -T Extract the first (^) word (\w+) from the first line [0] > .Str.say for "first line\nsecond line" ~~ m:g/ ^ \w+ / first Extract the first (^^) word (\w+) from all the lines [0] > .Str.say for "first line\nsecond line" ~~ m:g/ ^^ \w+ / first second Extract the last ($) word (\w+) from the last line [0] > .Str.say for "line first\nline second" ~~ m:g/ \w+ $ / second Extract the last ($$) word (\w+) from all the lines [0] > .Str.say for "line first\nline second" ~~ m:g/ \w+ $$ / first second