Jump to content

Multi-line regex replace issue

Chris McKulka

Recommended Posts

I am creating my first workflow that has a regular expression that operates against a string with multiple lines. To be clear when I say multiple lines I mean there are embedded '\n' characters.


The replacement doesn't seem to working correctly. See attached picture with debug output. Instead of emitting a '\n' just the letter 'n' (vs. a newline) is being emitted.


I attached the full script that I am trying to replicate but that's just for context. The screenshot captures the issue with a very simple set of input text and a trivial regex.


Appreciate your help!

Screen Shot 2018-02-20 at 11.45.23 PM.png

full script.png

Link to comment
Share on other sites

Thank you for the quick and thoughtful response. Thank you for the suggestion re. using a capture group. You are correct it does work and maybe my workaround, but it definitely isn't elegant.


As far I can Alfred's behavior is incorrect. The perl command below returns the correct result. See pic below.

 perl -pe 's/[0-9]\n/*\n/g'


Screen Shot 2018-02-22 at 12.01.10 AM.png

Link to comment
Share on other sites

  • 3 weeks later...

Sorry about the slow reply on this. I've now had a chance to look into what is happening.


Alfred is using NSRegularExpression which treats \ in the replacement template string as a literal, and it looks like it's just being stripped in the replacement.


See Table 3 here:



If you were to actually put a new line in the replacement (i.e. instead of using \n, use alt+return), then it works as expected.




Link to comment
Share on other sites

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...