Hi, if I understand your question correct, you want to extract information from each token. So splitting the string into tokens first and then extracting any useful information one by one might be a suitable approach for you?
Prints:use strict; sub extract { chomp(my $orig = shift); foreach ( split(/,/, $orig) ) { # scan list of tokens if ( / <\*\d+> ([^<]+) < (\d+) : (\d+) > /x ) { # do something with extracted information print "got $1/$2/$3 from '$orig'\n"; } } } extract($_) while (<DATA>); __DATA__ <*2>H<3:0>,<*2>I<3:0>,...,<*2>Z<2:0> H<3:0>,<*2>I<3:0>,...,<*2>Z<2:0>
got H/3/0 from '<*2>H<3:0>,<*2>I<3:0>,...,<*2>Z<2:0>' got I/3/0 from '<*2>H<3:0>,<*2>I<3:0>,...,<*2>Z<2:0>' got Z/2/0 from '<*2>H<3:0>,<*2>I<3:0>,...,<*2>Z<2:0>' got I/3/0 from 'H<3:0>,<*2>I<3:0>,...,<*2>Z<2:0>' got Z/2/0 from 'H<3:0>,<*2>I<3:0>,...,<*2>Z<2:0>'
In reply to Re: regular expression help
by Perlbotics
in thread regular expression help
by pip9ball
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |