Jump to content

How to insert a new line in a RegEx search and replace?


Recommended Posts

Some research tells me that Perl is a good scripting language to do this in, and I can find examples online, but I don't know how to work them into the right format for use with Alfred Workflows. This is what I have now, but it isn't working... (trying to replace "apple" with "pear" as a test)

 

$query = "{query}";

-p -e 's/apple/pear/g;' $query

print $query;

 

Link to comment

Found an example that made more sense to me. This works!

 

$query = "{query}";

my $find = "apple";
my $replace = "pear";
$find = quotemeta $find; # escape regex metachars if present

$query =~ s/$find/$replace/g;

print $query;

 

 

Link to comment

While that worked on a single line, I needed to change /g to /gm to do mult-line search. Then I needed to remove the "escape regex" line to be able to use more complex search operators. I also found that certain perl regex operators didn't seem to work for me. For instance instead of

^\s{4}-

 I had to enter

 

^    -

(with actual spaces).

 

I don't know why? I tested the above syntax on some online regex testing sites and it worked...

Link to comment

If you don't already know Perl, I'd recommend you use Ruby or Python or PHP or JavaScript. Basically, anything but Perl.

 

Almost nobody on the forum uses Perl, so you won't get much, if any, help.

 

What exactly are you trying to achieve?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...