perlorg / www.pm.org

Perl Mongers Website
http://www.pm.org
25 stars 53 forks source link

Problem with regexp to match #164

Closed ghost closed 2 years ago

ghost commented 2 years ago

Hi

I have this assignment When a string comes with below content

01/LC-13/E10GbE-1,01/LC-14/E10GbE-1

It must take numbers 13, 1, 14 and 1, in order as indicated

And with this instruction is achieved

perl -le '@m = ( "01/LC-13/E10GbE-1,01/LC-14/E10GbE-1" =~ /.\/\w+-(\d+)\/\w+-(\d+)(?=,.\/\w+-(\d+)\/\w+-(\d+))/); print for @m'

But when string comes with

01/LC-13/E10GbE-1

It must take numbers 13 and 1

And when I run my example does not work

$ perl -le '@m = ( "01/LC-13/E10GbE-1" =~ /.\/\w+-(\d+)\/\w+-(\d+)(?=,.\/\w+-(\d+)\/\w+-(\d+))/); print for @m'

It does not return anything

Which seems to be the trouble?

I don't know much about regular expressions

Regards.

davorg commented 2 years ago

This repo is for the maintenance of a Perl web site. It is not the right place to ask general questions about Perl. You should ask your question on Stack Overflow, Reddit or Perl Monks.

ghost commented 2 years ago

Sorry for my misunderstanding related to ask here this kind of question.