如何创建正则表达式以正确的方式返回数据?我想我应该以某种方式使用前瞻性,但我想不出正确的方法。
我的代码:
import re
txt = "Person:Tester Test<br>Count:1<br>Testing:test<br>Additional Information:test1<br>test2<br>test3<br>Temp:123<br>"
x = re.findall("(.*?<br>)", txt)
for i in x:
print("- " + i)
现在返回的内容:
- Person:Tester Test<br>
- Count:1<br>
- Testing:test<br>
- Additional Information:test1<br>
- test2<br>
- test3<br>
- Temp:123<br>
我想得到的结果是:
- Person:Tester Test<br>
- Count:1<br>
- Testing:test<br>
- Additional Information:test1<br>test2<br>test3<br>
- Temp:123<br>
您可以使用
.*?<br>(?=w+:|$)
请参阅regex演示。
详细信息:
.*?
-零个或多个字符(换行字符除外(尽可能少<br>
-固定字符串(?=w+:|$)
-一个正向前瞻,需要一个或多个字母/数字/下划线,然后在当前位置或字符串末尾的右侧添加一个冒号