Surrounding a portion of your match expression with parentheses “captures” the part of the original text matched by that part of the match expression.
Captured bits of text may then be used in the replacement expression, denoted by \1, \2, etc, for each successive set of parens, counting from the left.
So if your whole match expression is as per your question, but enclosed by parens:
(^\n?.{50})
then \1 contains a possible newline and 50 characters following it. If you put the parens only around .{50}, it would only capture the fifty characters.
So if you put parens as I showed above, then you could use:
find: (^\n?.{50})
replace: \1\n
The replacement here is the captured text plus a newline.
(One wrinkle to watch for is the the dot ‘.’ in that expression matches any character EXCEPT newlines.
The BBEdit manual, available under the Help menu as a quick PDF download, has a great chapter on this: Searching with Grep.
— Bruce
_bruce__van_allen__santa_cruz_ca_