Я ищу способ извлечения URL-адресов из текста с помощью RegEx.Здесь есть много вопросов и очень хороших ответов, но я не нашел решения RegEx, способного извлекать URL-адреса с помощью пользовательских схем.
Вот несколько примеров, где мне нужны URL-адреса, извлеченные из:
Text: Send me a message on whatsapp whatsapp://send?text=Hello+World. I will get in touch!
-> Should extract whatsapp://send?text=Hello+World
Text: Some text google.com
-> Should extract google.com
Text: There are many nice people on https://www.stackoverflow.com
-> Should extract https://www.stackoverflow.com
Text: You can send visit my Facebook profile on fb://myhappyprofile.
-> Should extract fb://myhappyprofile
Text: https://www.google.com
-> Should extract https://www.google.com
Решения, которые я нашел, явно извлекли URL-адреса, начиная с http:// https:// или : // .В этих решениях протоколы должны были быть указаны в выражении.
Выражение, из которого я получил больше всего результатов, является следующим выражением:
(http|ftp|https|whatsapp|fb):\/\/([\w_-]+(?:(?:\.[\w_-]+)?))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?
Live Demo
Здесь я перечисляю схемы URL («глубокие ссылки») для таких приложений, как WhatsApp и Facebook.К сожалению, это не очень хорошо масштабируется.
Любая помощь по этому вопросу будет принята с благодарностью!