如何包括新行“\";PHP正则表达式中的匹配

如何包括新行“\";PHP正则表达式中的匹配,php,regex,Php,Regex,我有一个正则表达式,如下所示: $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 编辑-指向m

我有一个正则表达式,如下所示:

$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


编辑-指向my regex101查询工作的链接。但是,当尝试在php中实现时,它并没有。请注意,我是通过CLI运行php的

您可以使用此正则表达式使其工作:

~\b(?:https?://|www)[^"\\\s]+~
\s
当我们遇到任何空格(包括换行符)时,否定字符类中的
将停止匹配

正则表达式

/\r\n?|\n/

匹配所有三种类型的换行符,即Linux上的
\n
、Windows上的
\r\n
和Mac上的
\r

通过在正则表达式中添加/[\r\n]/,cariage返回由
\r
在正则表达式中的目的是什么
[^(\“\124;\\\)]+
表示。@anubhava或\或空格双引号和冒号不需要转义。