Это именно то, что случилось со мной сегодня, и после небольшого расследования я обнаружил несколько деталей:
Я использовал редактор, отличный от моего обычного на компьютере коллеги. Я привык к EditPlus, и это был Блокнот ++ (я думаю). После небольшого редактирования я скопировал некоторый код в MSSMS, затем немного изменил его, а затем сохранил как файл .sql. Затем, когда я открыл файл, я получил предупреждение о выпуске cr / lf. Сделав видимыми символы пробела, я заметил, что большинство строк были cr / lf, но только некоторые были только lf.
Оказывается, что пока я был в Notepad ++, я выполнил поиск и заменил "> <" на "> \ n <" (отдельные html-теги на новые строки), а в Notepad ++ "\ n" означает "lf", тогда как в editplus "\ n" означает "перевод строки" (независимо от того, какой файл используется в данный момент, поэтому обычно это "crlf"). </p>
Интересно, что MSSMS позволил мне сохранить этот гибридный файл без каких-либо жалоб.
Итак, урок заключается в том, что при выполнении поиска и замены с использованием выражений, подобных регулярному выражению, общие вещи, такие как \ n, могут быть реализованы по-разному в разных редакторах