Re: Regex repeating capture



In article <1170177214.014726.69240@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>, Jay
<JaythePCguy@xxxxxxxxx> wrote:

Howdy,

I'm trying to break an input string into multpile pieces using a
series of delimiters that start with an asterisk. Following the
asterisk is a mulitple character identifier immediately followed by a
data string of variable length. The input string may contain more than
one identifier anywhere in the string. In all, there are 50+
identifiers to search for and the asterisk is allowed to part of the
data string as long as it isn't defined as an identifier (it would be
treated as another identifier at that point).

Here is a simple example:
*CZ1 2.3 4-56 *fuuuS24364 08 23 72

I'd like to break this into
CZ
1 2.3 4-56
fuuu
S24364 08 23 72

I have tried the pattern (?:\*(CZ|fuuu)(.*)), which produces the
following ouput:
CZ
1 2.3 4-56 *fuuuS24364 08 23 72

How can I force it to repeat the capturing?

Use split and capture the delimiters:

$x = "*CZ1 2.3 4-56 *fuuuS24364 08 23 72";
@f = split( /(\*(?:CZ|fuuu))/, $x);
print join("\n",@f),"\n";

*CZ
1 2.3 4-56
*fuuu
S24364 08 23 72

See perldoc -f split

Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------
http://www.usenet.com
.



Relevant Pages

  • Re: Regex repeating capture
    ... series of delimiters that start with an asterisk. ... one identifier anywhere in the string. ... data string as long as it isn't defined as an identifier (it would be ...
    (comp.lang.perl.misc)
  • Re: Regex repeating capture
    ... an identifier, otherwise it is considered another identifier. ... to split your string on the asterisk as a first step. ... public bool StartsWith ( ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Regex repeating capture
    ... I'm trying to break an input string into multpile pieces using a series of delimiters that start with an asterisk. ... The input string may contain more than one identifier anywhere in the string. ...
    (comp.lang.perl.misc)
  • Regex repeating capture
    ... series of delimiters that start with an asterisk. ... data string of variable length. ... The input string may contain more than ... one identifier anywhere in the string. ...
    (comp.lang.perl.misc)
  • Re: Regex repeating capture
    ... The identifier is at least 2 character, ... series of delimiters that start with an asterisk. ... The input string may contain more than ...
    (microsoft.public.dotnet.languages.csharp)