正規表現*の問題
益伦
益伦 2017-11-18 09:49:36
0
8
1543

<?php

$zz = '/Audi*/';

#$string = "Audi 2500 は私のお気に入りです";

if(preg_match($zz, $string, $matches)){

echo '一致しました、結果は次のとおりです: ';

var_dump($matches);

}else{

echo '一致しません';

}

? >

出力結果が「Audi Audi」または「Audi Di」ではなく「Audi」なのはなぜですか? * は少なくとも 0 回ではありませんか? 2 つのケースですべてが抽出されなかったのはなぜですか?

益伦
益伦

全員に返信(2)
又白又帅又可爱

preg_match を使用すると「Audi」に一致する必要があり、preg_match_all を使用すると「Audi Audi」に一致する必要があります。

これは理論上の結果ですが、実際には正規表現で中国語を一致させる例を見たことがありません。中国語。長さを制限し、次のような中国語のバイトコードを使用します: u4e00-u9fa5

いいねを押す +0
  • 返事 さて、中国語をたくさん試してみましたが、うまくいきませんでした。今後は例として中国語を使用することは少なくなります。
    益伦 著者 2017-11-20 23:17:33
路过

preg_matchは1つだけ一致

preg_match_allはすべての一致結果です

マニュアルを確認することをお勧めします

いいねを押す +0
  • 返事 &lt;?php $zz = '/250*/'; $string = "ディオールとアウディ 25000 が私のお気に入りです"; if(preg_match($zz, $string, $matches)){ echo '一致しました、結果は次のとおりです:'; var_dump($matches); }それ以外{ echo '一致しません'; } ?> ますます混乱してきますが、なぜこのコードの結果は、あなたが言ったように 250 ではなく 25000 なのでしょうか?
    益伦 著者 2017-11-18 11:01:48
  • 返事 前の文字と任意の回数 (0 回または任意の回数) 一致します。
    益伦 著者 2017-11-18 11:08:10
  • 返事 わかりました、答えてくれてありがとう
    益伦 著者 2017-11-20 23:12:45
  • 返事 *が何を意味するか知っていますか?
    路过 著者 2017-11-18 11:03:33
  • 返事 マニュアルを読んでください
    路过 著者 2017-11-18 11:39:39
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート