Backreferencing through two sets of slashes

E

Eric Smith

Hi

if ( $foo =~ /(\d\d)-(\d\d)-\d\d\d\d/ and $bar =~ /(\d?\d):(\d\d):(\d
\d)/ )
{
# How do I match here the the two fields of $foo ?
# Or is it not possible in a single construction?
# $bar of course gives its ($hours, $minutes, $seconds) = $1, $2 and
$3
}

Thanks

Eric Smith
 
C

C.DeRykus

Hi

if ( $foo =~ /(\d\d)-(\d\d)-\d\d\d\d/ and $bar =~ /(\d?\d):(\d\d):(\d
\d)/ )
{
# How do I match here the the two fields of $foo ?
# Or is it not possible in a single construction?
# $bar of course gives its ($hours, $minutes, $seconds) = $1, $2 and
$3

}

You may need to clarify or provide some actual
data... If, possibly, you're trying to match
alternate date formats, you might use something
such as this:

if ( /(?| (\d\d) - (\d\d) - (\d{4}) # format 1
| # or
(\d\d?) : (\d\d) : (\d{4}) # format 2
)/x )
{
print "\$1=$1 \$2=$2 \$3=$3\n";
}

* see perlre for meaning of (?|pattern) "branch
reset pattern)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top