2017-02-16 2 views
3

У меня есть регулярное выражение следующим образом:Как включить новую строку « п» в PHP соответствует регулярному выражению

$regex = '/(https?\:\/\/|www)[^(\"|\\\) ]+/i'; 

Что я хочу извлечь только URL из следующего:

Here is some dummy text http://testwebsite.com.eu\n\nIf you don't like this dummy text then tough luck. 

Мои результат возвращается

http://testwebsite.com.eu 

If 

Как я могу изменить свое регулярное выражение, чтобы оно включало \ n в поиске?

Редактировать - ссылка на мой запрос regex101 работает. Но при попытке реализовать в php это не так. Обратите внимание, что я запускаю php через CLI. https://regex101.com/r/lNovMJ/1

+1

путем добавления/[\ г \ п]/ –

+1

В регулярных выражениях, возвращение cariage представлен '\ r' – Nicolas

+0

Что такое цель' [^ (\ "| \\\)] +' в вашем регулярном выражении? – anubhava

ответ

4

Вы можете использовать это регулярное выражение, чтобы заставить его работать:

~\b(?:https?://|www)[^"\\\s]+~ 

\s внутри инверсный класса символов остановится соответствие, когда мы сталкиваемся с любой пробел (включая символ новой строки).

RegEx Demo

Смежные вопросы