Вот вариант, который я сам накидал: ([\w]*://[\w/\.?\d=&%]*) Вот вариант, который есть в библиотеке регэкспов у RegexBuddy: (https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|] Тестировал на этой строке: Тут текст http://test.ru/test/test.php?papram1=qwe¶m2=df Тут текст
А тут будет html-линк: Оба варианта находят обе ссылки, может у тебя примеры более заковыристые?
P.S. Вариант RegexBuddy сильнее ограничен по протоколам, а мой слишком не ограничен по разрешенным символам.
Comments 11
Кстати, а разве распространенные регэкспы для выдирания урлов не подходят?
Reply
Reply
([\w]*://[\w/\.?\d=&%]*)
Вот вариант, который есть в библиотеке регэкспов у RegexBuddy:
(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]
Тестировал на этой строке:
Тут текст http://test.ru/test/test.php?papram1=qwe¶m2=df Тут текст
А тут будет html-линк:
Оба варианта находят обе ссылки, может у тебя примеры более заковыристые?
P.S.
Вариант RegexBuddy сильнее ограничен по протоколам, а мой слишком не ограничен по разрешенным символам.
Reply
Quote:Вот вариант, который я сам накидал:
то есть, по твоему вполне валиден урл вида :// ? :)
Quote:Оба варианта находят обе ссылки, может у тебя примеры более заковыристые?
Конечно есть. :)
а)
"Штирлиц бил наверняка - http://schtirlitz.bil/navernyaka. Наверняк отбивался как мог."
б)
"Штирлиц бил (http://schtirlitz.bil/navernyaka.) наверняка. Наверняк отбивался как мог."
в)
"Штирлиц бил наверняка. Наверняк отбивался как мог."
Reply
Штирлиц бил наверняка - http://schtirlitz.bil/navernyaka. Наверняк отбивался как мог.
Штирлиц бил (http://schtirlitz.bil/navernyaka.) наверняка. Наверняк отбивался как мог.
Штирлиц бил наверняка. Наверняк отбивался как мог.
Выдернул следующие строки:
http://schtirlitz.bil/navernyaka
http://schtirlitz.bil/navernyaka
http://schtirlitz.bil/?who=%27navernyak%27
P.S.
"%27" - был в URL-е
Reply
в "б" в урле ещё точка должна быть
Reply
Leave a comment