regex用于匹配包括换行符在内的所有字符。 正则表达式以匹配1.和下一个新行之间的字符,直到2。
1.asfddfdf1#q23.wera
sdfdfd
asfdsf
2.asdds
asddf
asdd
asdd
asdd
asd
3.sdffgfdg
答案 0 :(得分:-1)
此正则表达式将在所有行中找到以数字开头的所有行,直到该行开头的下一个数字(regex101):
data = '''1.asfddfdf1#q23.wera
sdfdfd
asfdsf
2.asdds
asddf
asdd
asdd
asdd
asd
3.sdffgfdg'''
import re
for lines in re.findall(r'^\d.*?(?=^\d|\Z)', data, flags=re.DOTALL|re.M):
print(lines)
print('*' * 80)
打印:
1.asfddfdf1#q23.wera
sdfdfd
asfdsf
********************************************************************************
2.asdds
asddf
asdd
asdd
asdd
asd
********************************************************************************
3.sdffgfdg
********************************************************************************