in reply to Regex being stupid
The code fragment shown has a number of problems. First, the string used to initialise $text contains the “@” symbol, which triggers interpolation within double quotes. This needs to be escaped, or else change to single quotes.
Second, the replacement part of a substitution cannot contain assertions such as \w+. Third, as davido says, the regex will fail to match because it requires a whitespace character (\s) before the first capture, but the given string does not contain any whitespace in that position.
Try this as a start:
#! perl use strict; use warnings; my $text = 'pilar@delphoss.com type add (#090930-230011-907000 ur22122 +021 pi'; $text =~ /(\w+)@(\w+)\.com/; print "$1\@$2\n";
Output:
12:59 >perl 724_SoPW.pl pilar@delphoss 13:06 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Regex being stupid
by AI Cowboy (Beadle) on Sep 19, 2013 at 03:20 UTC |