Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^2: RegEx related line split

by dominic01 (Acolyte)
on Nov 14, 2011 at 03:13 UTC ( #937859=note: print w/ replies, xml ) Need Help??


in reply to Re: RegEx related line split
in thread RegEx related line split

Thank you. This works as per my requirement but I was trying one other pattern

$line = q{a) Line 1. b) Line 2. c) Line 32. d) Line 42.};
Here it matches if some (words) within () that are coming in the line.


Comment on Re^2: RegEx related line split
Download Code
Replies are listed 'Best First'.
Re^3: RegEx related line split
by johngg (Abbot) on Nov 14, 2011 at 10:30 UTC

    Do you mean that the opening parenthesis is optional in the text you are spliting? If so, you can use a '?' quantifier to make the opening parenthesis "zero or one of" but you also have to use a negative look behind to make sure you don't split '(' from 'a)'. I've added the 'x' modifier to the pattern so I can space it out and make it more readable.

    knoppix@Microknoppix:~$ perl -E ' > $line = q{(a) Line 1. b) Line 2. (c) Line 32. d) Line 42.}; > @arr = split m{ (?<! \( ) (?= \(? [a-z] \) ) }x, $line; > say qq{>$_<} for @arr;' >(a) Line 1. < >b) Line 2. < >(c) Line 32. < >d) Line 42.< knoppix@Microknoppix:~$

    I hope this is helpful.

    Cheers,

    JohnGG

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://937859]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (18)
As of 2015-07-31 13:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (278 votes), past polls