use strict;
my $str = 'First Name Melissa
Last Name Madrid
Phone 4253068210
E-Mail Meli.madrid@yahoo.com
What is your age group? 19-39
Without my glasses and contacts-Farsightedness : I have trouble reading and seeing things up close yes
Without my glasses and contacts-Astigmatism : I have distorted vision and cannot see very well yes
What do you usually wear?-Glasses yes
What do you usually wear?-Contacts yes
What do you usually wear?-Reading Glasses yes
Do you have any of the following?-None of the above yes
I would like to see well at a distance without relying on glasses and contact lenses. 5
I would like to see well up close without relying on glasses and contact lenses. 5
Would your career or business activities improve if you were to become less dependent on glasses and contacts? Yes
Test Score -4.00
The message has been sent from 107.77.205.32 (United States) at 2020-01-10 10:39:44 on iPhone unknown
Entry ID: 2190
Referrer: http://m.facebook.com
Form Host: https://www.nweyes.com/landing/smile/';
my $regex = qr/First Name[\s\S](?<firstname>.*)[\s\S]Last Name[\s\S](?<lastname>.*)[\s\S]Phone[\s\S](?<phone>.*)[\s\S]E-Mail[\s\S](?<email>.*)[\s\S]*age group\?[\s\S](?<agegroup>.*)[\s\S]*seeing things up close[\s\S](?<farsightedness>.*)[\s\S]*cannot see very well[\s\S](?<astigmatism>.*)[\s\S]*-Glasses[\s\S](?<glasses>.*)[\s\S]*-Contacts[\s\S](?<contacts>.*)[\s\S]*-Reading Glasses[\s\S](?<readingglasses>.*)[\s\S]*following\?-(?<following>.*)[\s\S]*distance without relying on glasses and contact lenses.[\s\S](?<distance>.*)[\s\S]*close without relying on glasses and contact lenses.[\s\S](?<close>.*)[\s\S]*contacts\?[\s\S](?<wouldyourcareerimprove>.*)[\s\S]*Test Score[\s\S](?<testscore>.*)[\s\S]*Entry ID: (?<entryid>.*)[\s\S].*Referrer: (?<referrer>.*)[\s\S]*Host: (?<formhost>.*)/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