Maison > développement back-end > tutoriel php > Plusieurs façons d'obtenir des nombres dans des chaînes en utilisant PHP avec des expressions régulières

Plusieurs façons d'obtenir des nombres dans des chaînes en utilisant PHP avec des expressions régulières

墨辰丷
Libérer: 2023-03-31 11:06:01
original
2649 Les gens l'ont consulté

Cet article présente principalement plusieurs méthodes pour obtenir des nombres dans des chaînes en utilisant PHP combinées à des expressions régulières. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

php combine des expressions régulières pour obtenir les nombres 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 les nombres dans la chaîne spécifiée $a="era arrivé 123 arrivé 12345678 arrivé"; capturez le nombre 12345678 dans $a, sinon, renvoyez 0
Écrivez bien la fonction,
1 Ne faites correspondre que les nombres d'une longueur de 8 bits
S'il est trouvé, renvoyez le nouveau numéro, si. non, retourne 0

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

J'ai cherché cela sur Internet et je l'ai testé et j'ai trouvé que c'était OK, mais si la longueur des caractères n'est pas d{4} ou une longueur fixe, cela ne fonctionnera 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 A

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

j'ai découvert que cela pouvait obtenir des nombres de n'importe quelle longueur continue. Bien sûr, j'en ai vu beaucoup sur Internet, mais il y en avait un qui fonctionnait, donc je ne l'ai pas testé à nouveau.

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Comment combiner un modèle php avec le plug-in de téléchargement js pour obtenir un téléchargement sans actualisation

Code de vérification du numéro php et de l'opération du numéro

Méthode php pour implémenter la conversion de l'encodage json

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