Mark Springer
Mark Springer

Reputation: 351

How do I replace text with a linebreak using regular expressions

I have written a program that searches for 'opens' without matching 'closes' in a target file. It produces an output like this:

open
close
open
open
close

In this example here the second 'open' is not immediately followed by a matching 'close', so I consider that an error. My text-editor (editpad) has a regular-expression search/replace feature, which I would like to use to get rid of all correct pairs, so I can notice easily the incorrect situations. I tried replacing the following

open\r\nclose

I thought that this would match the two words and the line-break between them (I'm using Windows). This did not work.

Does anyone have an idea why it didn't?

Upvotes: 1

Views: 1383

Answers (1)

Wiktor Stribiżew
Wiktor Stribiżew

Reputation: 627600

If you select the Regex mode, your regex will work, but I also suggest making \r optional by appending ? after it to support LF endings, too:

open\r?\nclose

See the screenshot with settings and proof it works in EditPad:

enter image description here

Upvotes: 1

Related Questions