У меня на большом документе этот запрос сделал больше замен чем мой... интересно в чём тут разница?
А у меня на маленьком документе ИнДизовский штатный ГРЕП дал меньше результатов, чем ваш.
И здесь вроде понятно почему: если несколько пустых строк подряд - он обрабатывает их одной заменой, в отличие от вашего.
Ситуация немного усложняется, когда пустые строки содержат пробелы (а у меня такое не раз встречалось) - тогда ваш поисковой запрос не найдет этих строк, а штатный можно доработать - между ~b и ~b вставить <любой пробел>, повторяющийся 0 или более раз:
и тогда все будет чистенько