Maison  >  Questions et réponses  >  le corps du texte

Problème avec l'expression régulière*

<?php

$zz = '/Audi*/';

$string = "L'Audi Audi 2500 est ma préférée";

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

echo 'Correspondance, le résultat est :';

var_dump($matches);

}else{

echo 'Aucune correspondance trouvée';

}

?> Le résultat de sortie est-il « Audi » au lieu de « Audi Audi » ou « Audi Di » ? N'est-ce pas * au moins 0 fois ? Comment se fait-il qu'ils n'aient pas tous été extraits dans deux cas

?
益伦益伦2499 Il y a quelques jours1464

répondre à tous(8)je répondrai

  • 又白又帅又可爱

    又白又帅又可爱2017-11-20 12:15:33

    L'utilisation de preg_match devrait correspondre à "Audi", l'utilisation de preg_match_all devrait correspondre à "Audi Audi",

    C'est un résultat théorique, mais en fait je n'ai pas vu d'exemple de correspondance du chinois avec des expressions régulières qui ne peuvent que vérifier si c'est le cas. Chinois et limite la longueur, et il utilise un bytecode chinois, similaire à celui-ci : u4e00-u9fa5

    .

    répondre
    0
  • 益伦

    D'accord, j'ai essayé beaucoup de chinois mais cela n'a pas fonctionné. J'utiliserai moins le chinois comme exemple à l'avenir.

    益伦 · 2017-11-20 23:17:33
  • 路过

    路过2017-11-18 10:27:36

    preg_match ne correspond qu'à un seul

    preg_match_all correspond à tous les résultats correspondants

    Il est recommandé de consulter le manuel

    répondre
    0
  • 益伦

    <?php $zz = '/250*/'; $string = "Dior et Audi 25000 sont mes préférées" ; if(preg_match($zz, $string, $matches)){ echo 'Correspondance, le résultat est :'; var_dump ($ correspond); }autre{ echo 'Aucune correspondance'; } ?> Cela devient de plus en plus confus, alors pourquoi le résultat de ce code est-il 25000, et non 250 comme vous le disiez ?

    益伦 · 2017-11-18 11:01:48
    益伦

    Faites correspondre le caractère qui le précède un certain nombre de fois (0 ou n'importe quel nombre de fois)

    益伦 · 2017-11-18 11:08:10
    益伦

    D'accord, merci d'avoir répondu

    益伦 · 2017-11-20 23:12:45
    路过

    Savez-vous ce que signifie * ?

    路过 · 2017-11-18 11:03:33
    路过

    Il suffit de lire le manuel

    路过 · 2017-11-18 11:39:39
  • Annulerrépondre