ホームページ  >  記事  >  バックエンド開発  >  PHP は正規表現を組み合わせて数値を取得します (string_PHP チュートリアル)

PHP は正規表現を組み合わせて数値を取得します (string_PHP チュートリアル)

WBOY
WBOYオリジナル
2016-07-13 09:49:54983ブラウズ

PHPを正規表現と組み合わせて文字列内の数値を取得する

この記事では主に、PHPと正規表現を組み合わせて文字列内の数値を取得するいくつかの方法を紹介します。必要な友達は参考にしてください。

PHPは正規表現を組み合わせて文字列内の数値を取得します

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

$patterns = "/d+/" //最初のタイプ

;

//$patterns = "/d/" //2 番目のタイプ

;

$strs="左:0px;上:202px;幅:90px;高さ:30px";

preg_match_all($patterns,$strs,$arr);

print_r($arr);

/***************運用結果********************/

//最初のタイプ

配列

(

[0] => 配列

(

[0] => 0

[1] => 202

[2] => 90

[3] => 30

)

)

//2番目のタイプ

配列

(

[0] => 配列

(

[0] => 0

[1] => 2

[2] => 0

[3] => 2

[4] =>9

[5] => 0

[6] => 3

[7] => 0

)

)

PHPは、指定された文字列の番号を取得します $a="12345678が発生した時代に123が発生しました"; $aの番号12345678を取得する関数を与え、そうでない場合は0を返します

良い関数を書くには、

1. 8桁の長さの数字のみに一致します

2. 見つかった場合は変更後の数値を返し、見つからない場合は0を返します

?

1

2

3

関数 a($str){

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

}

これをネットで探して試してみたところ、問題ないことが分かりましたが、文字長が d{4} または固定長でないと動作しません

?

1

2

3

4

5

6

7

8

9

関数 findNum($str=''){

if(empty($str)){return '';}

$reg='/(\d{4}(\.\d+)?)/is';//数値と一致する正規表現

preg_match_all($reg,$str,$result);

if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){

$result[1][0]を返す;

}

戻る '';

}

後になって、その中にもいたことが分かりました

?

1

2

$str=トリム($str);

if (preg_match('|(\d+)|',$str,$r)) return $r[1];

これは、任意の連続長の数値を取得できることがわかりました。もちろん、インターネット上でたくさんの方法を見ましたが、機能するものがあったので、再度テストしませんでした。

以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。

www.bkjia.com本当http://www.bkjia.com/PHPjc/1018923.html技術記事 PHP は正規表現を組み合わせて文字列内の数値を取得します。この記事では主に、PHP で正規表現を組み合わせて文字列内の数値を取得する方法をいくつか紹介します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。