Регулярное выражение - Найти все одиночные переносы строки и добавить начало строки
Помогите составить регулярное выражение которое будет: искать в тексте одиночные переносы строки (\r или \x0d) и заменять его на \r\n или \x0d\x0a Но загвоздка в том, что нужно исключить из поиска перенос за которым идет новая строка.
Ну или на примере слов: ASSIGN SESSION SMIRNOFF нужно найти только буквы S за которым не идет буква I
Ответы (1 шт):
Автор решения: Alex R.
→ Ссылка
Необходимо использовать опережающую проверку.
Статья на хабре об этих проверках.
Look-behind — ретроспективная проверка «смотрит» назад. Look-ahead — опережающая проверка «смотрит» вперед.
Синтаксис:
(?<=pattern) положительное look-behind условие
(?<!pattern) отрицательное look-behind условие
(?=pattern) положительное look-ahead условие
(?!pattern) отрицательное look-ahead условие
Для строки "ASSIGN SESSION SMIRNOFF" решение будет
S(?!I)