首頁 >後端開發 >php教程 >php正規取得字串中數字的方法實例

php正規取得字串中數字的方法實例

小云云
小云云原創
2018-03-07 10:25:164891瀏覽

本文主要和大家介紹了php結合正規取得字串中數字的幾種方法,十分的簡單實用,希望能幫助到大家。

php結合正規取得字串中數字

<?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 取得指定字串的數字$a="時代發123生的12345678發生的"; 給一個函數能抓取到$a中的數字12345678,如果沒有,則返回0
要寫好函數,
1.只匹配長度位8的數字
2.如果找到則返回改數字,如果沒有則回傳0

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

在網路上搜尋到這個測試一下發現還可以,但是如果字元長度不d{4} 不定長就不行了

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;;
}

後來又發現知道中有一個

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

發現這個可以獲得任意連續長度的數字了,當然在網路上還看到很多,但有一個可以了所以就沒有再測試了。

相關推薦:

取得字串中數字的正規表示式

MySQL關於字串中數字排序的問題分析_MySQL

PHP提取字串中數字的方法

以上是php正規取得字串中數字的方法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn