use strict;
my $str = '1/1/2019 2:42:55 AM
Aju
Hi Team
1/1/2019 2:42:56 AM
System
The data has been added:
- Customer Info
1/1/2019 2:42:59 AM
Rohi
System Message: Rohi is ready to chat.
1/1/2019 2:43:09 AM
Aju
Wish you a very happy ne year
1/1/2019 2:43:12 AM
Aju
new*
1/1/2019 2:43:25 AM
Aju
I need to KNOW ABOUT A CAR
1/1/2019 2:43:32 AM
Aju
please help me
1/1/2019 2:45:07 AM
Aju
Anyone there ?
1/1/2019 2:47:13 AM
Aju
??
1/1/2019 2:49:23 AM
Aju
?? Hi Rohi You there?
1/1/2019 2:51:16 AM
Rohi
Hello Aju my name is Rohi. How can I help you today?
1/1/2019 2:51:27 AM
Chat goes on....';
my $regex = qr/System Message: \w+ is ready to chat\.\s+\d+\/\d+\/\d+\s\d+:\d+:\d+\s+\w+\s+\w+\s+(?P<my_field>.+)$/mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html