in reply to Re^3: Multiple regex matches in single string
in thread Multiple regex matches in single string
That assumes that the starts are on consecutive lines which may be a perfectly valid assumption. It pays to know your data.
Another approach is to use the original regex, which may have multiple starts and then trim it using s/^.*start/start/is.
The loop then looks something like
If the intent is to strip off multiple starts only on consecutive lines then the regex would be s/^(?:start\s*)+start/start/is which used on the inputwhile ( $string =~ /(start.+?end)/gis ) { my $data = $1; $data =~ s/^.*start/start/is; print $data, "\n\n"; }
would producestart start start go one end start start data start go two end
But as I said you really need to know your data and other factors such as if you need to validate the input.start go one end start data start go two end
|
---|