Php “什么是”呢&引用;正则表达式中的平均值

Php “什么是”呢&引用;正则表达式中的平均值,php,regex,preg-match,Php,Regex,Preg Match,朋友们好,我是php模式匹配新手 我尝试使用此代码查找“@”和“空格”之间的文本 <?php $pattern = "%@(.*?)\s%"; $string = "this is @test string @match "; preg_match_all($pattern, $string, $match); echo "<pre>"; print_r($match); echo "</pre>"; ?>

朋友们好,我是php模式匹配新手

我尝试使用此代码查找“@”和“空格”之间的文本

<?php
    $pattern = "%@(.*?)\s%";
    $string = "this is @test string @match ";
    preg_match_all($pattern, $string, $match);
    echo "<pre>";
    print_r($match);
    echo "</pre>";
    ?>
等等。。但是我不明白这里的“.”的用法。。 有人能解释一下吗?如果我在其他地方错了,请纠正我


提前感谢

匹配除换行符以外的任何字符,但只匹配一个字符。

表示它将匹配任何字符。

匹配除换行符以外的任何字符。在您的情况下,它将匹配除换行符以外的
@
和空格之间的任何内容,或者它可以是
@'
,因为您有
*?
,这意味着它是通配符
的可选项。要让
检查包括换行符在内的所有内容,请在分隔符
%
后添加
s
,例如:
..%s

表示任何字符。通配符,如果你愿意的话。无论何时,只要你想匹配一个模式,前面/后面有任何东西,你就会发现它很有用,但你不想麻烦自己那是什么东西


在上面的正则表达式中,您将匹配
@
,然后匹配任意数量的字符,直到找到空白。周期允许您不必关心您的模式是否为
@[
@lorem76 ipsum
。它将被匹配。

表示任何字符这里是PHP手册中的一页,它回答了您的所有问题,如下所示:@Gene可能您是对的,但我尝试过搜索它,但不理解我现在所做的方式:)@new_developer我刚刚键入了“PHP regex dot”在Google中,第一个列表给出了答案。Google是程序员最好的朋友。它与换行符匹配吗?=oPIn在大多数风格的regex中,不匹配。
实际上是unix风格的regex和
[^\r\n]上的
[^\n]
的别名
在Windows flavors上。它与换行符匹配吗?=oPnope,您需要一个特殊的标志。默认情况下,Regex是一个换行符工具。这不完全正确。默认情况下,它与换行符不匹配\n。
% is terminaor
( start of substring
) end of substring
* 0 or more match