More efficient way to combine multiple lines into one

I'm trying to combine multiple lines into one whenever a particular regex matches. However I am running into IO limit in my jupyter notebook. I know I can manually raise the limit for IO but I want to optimize this code to run better.

Code -

data=open("f_test.txt","r",encoding='UTF-8').readlines()
for n,line in enumerate(data):
    if re.match('(\d{1,2})[\/.-](\d{1,2})[\/.-](\d{2,4})$', line.split(':')[0]):
       data[n] = "\n"+line.rstrip()
    else:
       data[n]=line.rstrip()
print ('|'.join(data))

Regex logic: If the line of my text file does not start with a date, it would add it to the previous line which started with a date. Dataset contains about 90000 records

12/1/18 : Hey hello
12/2/18 : Testing 
this
12/2/18 : Bye bye

Output -

    12/1/18 : Hey hello
    12/2/18 : Testing this
    12/2/18 : Bye bye

Error -

IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.
To change this limit, set the config variable
`--NotebookApp.iopub_data_rate_limit`.

Current values:
NotebookApp.iopub_data_rate_limit=1000000.0 (bytes/sec)
NotebookApp.rate_limit_window=3.0 (secs)