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

小云云
Libérer: 2023-03-20 20:56:01
original
4885 Les gens l'ont consulté

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
    )
)
Copier après la connexion

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;
}
Copier après la connexion

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;;
}
Copier après la connexion

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

$str=trim($str);
 if (preg_match(&#39;|(\d+)|&#39;,$str,$r)) return $r[1];
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal