Php 正则表达式的唯一问题
我对正则表达式有一个非常奇怪的问题,我正在使用 请只测试那里,因为它的工作原理完全一样,在我的机器上。 我应该只能看到以下文本:3 4 5 6 7的审计说明,但我可以看到一个空数组。我知道这个代码在regex101.com上有效,请帮助 试试这个正则表达式:Php 正则表达式的唯一问题,php,regex,Php,Regex,我对正则表达式有一个非常奇怪的问题,我正在使用 请只测试那里,因为它的工作原理完全一样,在我的机器上。 我应该只能看到以下文本:3 4 5 6 7的审计说明,但我可以看到一个空数组。我知道这个代码在regex101.com上有效,请帮助 试试这个正则表达式: preg_match("/Audit Note by (\d+\s+)+/",$string, $nmatch); echo $nmatch[0]; 它给了我: Audit Note by 3 4 5 6 7 试试这个正则表达式: p
preg_match("/Audit Note by (\d+\s+)+/",$string, $nmatch);
echo $nmatch[0];
它给了我:
Audit Note by 3 4 5 6 7
试试这个正则表达式:
preg_match("/Audit Note by (\d+\s+)+/",$string, $nmatch);
echo $nmatch[0];
它给了我:
Audit Note by 3 4 5 6 7
这是您更新的正则表达式: 这将产生:
Audit Note by 3
4
5
6
7
在这里查看:这是您更新的正则表达式: 这将产生:
Audit Note by 3
4
5
6
7
请在此处查看:而不是使用^$匹配新行,您可以使用\R并使用以下代码:
$string = "1
2
Audit Note by 3
4
5
6
7
I don't need this line
I don't need this line
";
preg_match('/^(Audit Note by.*?)\R\R/ms',$string, $nmatch);
echo $nmatch[1];
\R\R匹配任意类型的两个连续换行符
输出:
您可以使用以下代码,而不是使用^$匹配新行:
$string = "1
2
Audit Note by 3
4
5
6
7
I don't need this line
I don't need this line
";
preg_match('/^(Audit Note by.*?)\R\R/ms',$string, $nmatch);
echo $nmatch[1];
\R\R匹配任意类型的两个连续换行符
输出:
向我们粘贴regex101 linkRegex链接副本。是的,但这已解决且未被阻止!!向我们粘贴regex101 linkRegex链接副本。是的,但这已解决且未被阻止@user974435为什么需要phptester来测试它?可能是它的不推荐版本或不兼容版本。这里所有的答案都有用。这就是问题所在,伙计。没有一个答案能在我的服务器或本地主机上运行,我运行PHP5.6,但在这两个地方都不能正常工作。服务器或php设置有什么需要更改吗?你不需要php tester,看看3v4l在5.6.0-5.6.30、hhvm-3.18.4-3.21.0、7.0.0-7.2.0RC2中所说的输出,这是我唯一能在我的计算机上看到的东西:这对我来说不是在线工作的情况,我需要这个在我的服务器和本地计算机上运行。我也用phptester测试了delboy1978的代码,它运行正常。不知道为什么不会t@user974435为什么需要phptester来测试它?可能是它的不推荐版本或不兼容版本。这里所有的答案都有用。这就是问题所在,伙计。没有一个答案能在我的服务器或本地主机上运行,我运行PHP5.6,但在这两个地方都不能正常工作。服务器或php设置有什么需要更改吗?你不需要php tester,看看3v4l在5.6.0-5.6.30、hhvm-3.18.4-3.21.0、7.0.0-7.2.0RC2中所说的输出,这是我唯一能在我的计算机上看到的东西:这对我来说不是在线工作的情况,我需要这个在我的服务器和本地计算机上运行。我也用phptester测试了delboy1978的代码,它运行正常。不知道为什么不会