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

墨辰丷
リリース: 2023-03-31 11:06:01
オリジナル
2636 人が閲覧しました

この記事では主に、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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート