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

Les correspondances entre () seront placées dans le tableau. La question est quelle est la différence entre $1 et \\1 ?

édition de texte ubb, preg_replace($pattern,$replace,$stirng);

争渡争渡2538 Il y a quelques jours1706

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

  •  

     2018-01-29 15:54:48

    J'ai lu dans le manuel que \1 et $1 sont identiques.

    Mots originaux du manuel : le remplacement peut contenir une référence arrière \n ou $n, cette dernière est préférée grammaticalement . Chacune de ces références sera remplacée par le texte capturé par le nième sous-groupe de capture correspondant. n peut être compris entre 0 et 99, \0 et $0 représentent le texte complet de correspondance de modèle. La méthode de comptage des numéros de série pour capturer les sous-groupes est la suivante : le support gauche représentant le sous-groupe de capture est compté de gauche à droite, en commençant par 1. Si vous souhaitez utiliser des barres obliques inverses en remplacement, vous devez utiliser 4 ("\\", annotation du traducteur : Comme il s'agit d'abord d'une chaîne PHP, après échappement, elle est de deux, puis elle est considérée par le moteur d'expression régulière comme une chaîne originale. barre oblique inverse).

    répondre
    0
  •  

    Si on parle de la différence, c'est : preg_replace() On ne sait pas si on veut exprimer \11 ou \1 1 (le deuxième 1 est la chaîne 1). Ainsi, l'utilisation de ${1}1 peut faire savoir à preg_replace() que le premier 1 est une référence arrière et que le second 1 est simplement le 1 du texte original qui suit immédiatement la référence arrière.

      · 2018-01-29 16:00:36
  • Annulerrépondre