如何包含新行" \ n"在PHP正则表达式匹配

时间:2017-02-16 16:24:22

标签: php regex

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

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

我想从以下内容中提取网址:

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中实现时它并没有。请注意我通过CLI运行php。 https://regex101.com/r/lNovMJ/1

2 个答案:

答案 0 :(得分:4)

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

class Apple {

}
当我们遇到任何空格(包括换行符)时,否定字符类中的

~\b(?:https?://|www)[^"\\\s]+~ 将停止匹配。

RegEx Demo

答案 1 :(得分:0)

正则表达式

/\r\n?|\n/

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