ホームページ  >  記事  >  バックエンド開発  >  PHP と正規表現を使用して文字列内の数値を取得するいくつかの方法

PHP と正規表現を使用して文字列内の数値を取得するいくつかの方法

墨辰丷
墨辰丷オリジナル
2018-06-09 15:32:122614ブラウズ

この記事では主に、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 が発生しました"; という関数を与えます。 grab $ a の数値 12345678 は、そうでない場合は 0 を返します。
関数をうまく記述してください。##1。長さが 8 の数値のみに一致します。見つかった場合は、変更された数値を返します。そうでない場合は、0 を返します。

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

これをネットで探して試してみたところOKでしたが、文字長が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];
# というものがあることを知りました。もちろん、これは任意の連続長の数値を取得できることを発見しました。もちろん、インターネット上でたくさんのものを見ましたが、うまくいくものがありました。再度テストしませんでした。

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連する推奨事項:

php テンプレートと js アップロード プラグインを組み合わせて更新不要のアップロードを実現する方法

php Numbers と Number Operation Verification Code

php で json エンコード変換を実装するメソッド

以上がPHP と正規表現を使用して文字列内の数値を取得するいくつかの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。