Поймать с помощью регулярного выражения только первый элемент в списке (может быть несколько, но не один за другим

1

У меня есть следующий текст:

Application\n- Lorem\n -Auto 
Applications:\n- Lorem2\n -Auto 

Если нет ':', я хочу изменить его:

Application:\n- Lorem

Я пробовал, но терпит неудачу:

 text = text.replace('\n-', ':\n-')
 text = re.sub('\n-', ':\n-', text)

В текстовом поле я хочу достичь:

Application:
- Lorem
- Auto

Я могу заменить :: но добавляет ':' после каждого \n- который улавливает все в списке

Теги:
python-3.x

1 ответ

2
Лучший ответ

Вероятно, вы можете сделать это, избегая толстой кишки.

text = re.sub('(?<!:)\n-', ':\n-', text)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню