in reply to Re: qr for recursive regex?
in thread qr for recursive regex?
I really want repetition, not recursion, but ran into roadblock with perl behaviour of only returning the last matches. Here is what I first tried, it only returns the last coordinate pair, which is documented behaviour.
output: - it only gets the last coordinate.#!/usr/bin/env perl use v5.16; use strict; my $prBoundaryString = <<endPrBoundary; '( (0.01 0.02) (0.0 1328.23) (0.03 0.04) ) endPrBoundary say "prBoundaryString=$prBoundaryString"; my ($coord,$coords); $coord = qr{ \(\s* (?<x>[\-\.0-9]+)\s+ (?<y>[\-\.0-9]+)\s* \)\s* }x; $coords = qr{ ( ( $coord )+ ) }x; $prBoundaryString =~ m{ \'\(\s*\s* $coords \)\s*$ }x || die "parsePrBoundary: Error parsing prBoundary"; say "-x0=$-{x}[0]"; say "-y0=$-{y}[0]"; say "-x1=$-{x}[1]"; say "-y1=$-{y}[1]"; say "-x2=$-{x}[2]"; say "-y2=$-{y}[2]";
prBoundaryString='( (0.01 0.02) (0.0 1328.23) (0.03 0.04) ) -x0=0.03 -y0=0.04 -x1= -y1= -x2= -y2=
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: qr for recursive regex?
by Limbic~Region (Chancellor) on May 28, 2014 at 19:20 UTC |