Есть строка типа:
I have a link\n for you
https://google.com.\n\n Also I have this link
http://some.net.\n\n\n Some text
ftp://test.net, ftps://test-2.de!
Как разбить эту строку на массив из подстрок так, чтобы на выходе ссылки и обычный текст были отдельно?
При этом последовательность текста и ссылок должна сохраниться, типа:
['I have a link\n for you ', 'https://google.com', '\n\n Also I have this link' ]
Я нашёл регулярное выражение, которое может отдельно вытащить ссылки из текста, но разбивает текст так, как описано выше:
(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?