仅使用正则表达式捕获列表中的第一个元素(可以是多个,但不能一个接一个

时间:2018-10-15 15:30:21

标签: python python-3.x

我有以下文字:

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-之后添加':'

1 个答案:

答案 0 :(得分:2)

您可以回避冒号。

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