![]() |
|
|
|
#1 |
|
Hey Folks,
This isn't actually a perl question but since you folks ar the regex experts I thought you might be able to help. I want to do a search and replace in my text editor (that supports regex) for any line that begins with print( and ends with "); and replace the ending "); with \n"); where the line doesn't alredy end in \n"); ex: print("foo"); becomes: print("foo\n"); Thanks. -- i.m. All views, opinions and alleged facts expressed by this tactless moron are protected by the constitution of the United States of America and should be taken as good natured and friendly unless specifically stated otherwise. Ivan Marsh |
|
|
|
|
#2 |
|
Posts: n/a
|
$line='print ("foo")';
$line=~s/^(print #anchor to beginning of string .* #match any text \)) #match closing parenthesis (need to escape character) /$1\n/x; #having wrapped match in () can use memory variable #and append newline. print $line; #print ("foo")\n Ivan, not sure of the 'flavour' of your regex machine so will need to look up how to use backreferences. Probably \1. The x modifier at the end is just so I can comment the code for explanations. s/^(print.*\))/$1\n/; hth j "Ivan Marsh" <> wrote in message news:<>... > Hey Folks, > > This isn't actually a perl question but since you folks ar the regex > experts I thought you might be able to help. > > I want to do a search and replace in my text editor (that supports regex) > for any line that begins with print( and ends with "); and replace the > ending "); with \n"); where the line doesn't alredy end in \n"); > > ex: > > print("foo"); > > becomes: > > print("foo\n"); > > Thanks. |
|