-3

こんにちは友達 PHP でのパターン マッチングは初めてです。

このコードを試して、「@」と「スペース」の間のテキストを見つけました

<?php
    $pattern = "%@(.*?)\s%";
    $string = "this is @test string @match ";
    preg_match_all($pattern, $string, $match);
    echo "<pre>";
    print_r($match);
    echo "</pre>";
    ?>

エラーなしで正常に動作します...私の質問は、「。」が何をするかです。これで私は他のシンボルの意味を知っていることを意味します

% is terminaor
( start of substring
) end of substring
* 0 or more match

など..しかし、「。」の使用法を理解していませんでした。ここで..誰かがそれを説明できます.そして、私が他の場所で間違っている場合は私を修正してください.

前もって感謝します

4

4 に答える 4

2

.改行文字を除く任意の文字に一致します。あなたの場合@、改行文字を除いて と の間のすべてに一致します。または、ワイルドカードのオプションであることを意味する'@ 'ため、 単にそうすることができます。改行を含むすべてをチェックするには、区切り文字の後に追加します。例: s (PCRE_DOTALL).*?..s%...%s

于 2013-03-24T04:50:48.510 に答える
1

.、改行文字以外に一致しますが、1 文字のみに一致します。

于 2013-03-24T04:45:36.820 に答える
0

.任意の文字に一致することを意味します。

于 2013-03-24T04:46:33.997 に答える
0

.任意の文字を意味します。もしそうなら、ワイルドカード。何かが先行/後続するパターンに一致させたいときはいつでも便利ですが、それが何であるかを気にしたくない場合はいつでも便利です。

上記の正規表現では@、空白に到達するまで、任意の数の文字に一致しています。@[ピリオドにより、パターンがかかを気にしなくて済みます@lorem76-ipsum。一致します。

于 2013-03-24T04:51:36.160 に答える