Maison >développement back-end >tutoriel php >Méthode régulière PHP pour obtenir des nombres dans une chaîne

Méthode régulière PHP pour obtenir des nombres dans une chaîne

小云云
小云云original
2018-03-07 10:25:164888parcourir

Cet article vous présente principalement plusieurs méthodes pour obtenir des nombres dans des chaînes en utilisant PHP combiné avec des expressions régulières. C'est très simple et pratique, j'espère qu'il pourra vous aider.

php combine des expressions régulières pour obtenir le numéro dans la chaîne

<?php
  $patterns = "/\d+/"; //第一种
  //$patterns = "/\d/";  //第二种
  $strs="left:0px;top:202px;width:90px;height:30px";
  preg_match_all($patterns,$strs,$arr);
  print_r($arr);
    
/***************运行结果*********************/
//第一种
Array
(
  [0] => Array
    (
      [0] => 0
      [1] => 202
      [2] => 90
      [3] => 30
    )
)
//第二种
Array
(
  [0] => Array
    (
      [0] => 0
      [1] => 2
      [2] => 0
      [3] => 2
      [4] => 9
      [5] => 0
      [6] => 3
      [7] => 0
    )
)

php obtient le numéro dans la chaîne spécifiée $a="era arrivé 123 arrivé 12345678 arrivé "; Donnez une fonction qui peut capturer le nombre 12345678 dans $a. Sinon, retournez 0
Écrivez bien la fonction,
1. Ne faites correspondre que les nombres d'une longueur de 8 chiffres
2. S'il est trouvé, renvoie le numéro de modification, sinon, renvoie 0

   
function a($str){
return preg_match(&#39;/([0-9]{8})/&#39;,$str,$a) ? $a[1] : 0;
}

J'ai recherché cela en ligne et je l'ai testé et j'ai trouvé que c'est OK, mais si la longueur du caractère n'est pas d{4} ou une longueur fixe, ça ne marchera pas

function findNum($str=&#39;&#39;){
 if(empty($str)){return &#39;&#39;;}
 $reg=&#39;/(\d{4}(\.\d+)?)/is&#39;;//匹配数字的正则表达式
 preg_match_all($reg,$str,$result);
 if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
 return $result[1][0];
 }
 return &#39;&#39;;
}

Plus tard, j'ai découvert qu'il existe un

$str=trim($str);
 if (preg_match(&#39;|(\d+)|&#39;,$str,$r)) return $r[1];

qui peut obtenir des numéros de n'importe quelle longueur continue. Bien sûr, j'en ai vu beaucoup sur Internet, mais l'un d'eux a fonctionné, donc je ne l'ai pas testé à nouveau.

Recommandations associées :

Expression régulière pour obtenir des nombres dans une chaîne

MySQL à propos des chaînes Analyse des problèmes de tri numérique_MySQL

Méthode PHP pour extraire les nombres dans une chaîne

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn