php结合正则获取字符串中数字

yipeiwu_com5年前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('/([0-9]{8})/',$str,$a) ? $a[1] : 0;
}

在网上搜索到这个测试一下发现还可以,但是如果字符长度不d{4} 不定长就不行了

function 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])){
 return $result[1][0];
 }
 return '';
}

后来又发现知道中有一个

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

发现这个可以获取任意连续长度的数字了,当然在网上还看到很多,但有一个可以了所以就没有再测试了。

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

微信公众平台消息接口校验与消息接口响应实例

本文实例讲述了微信公众平台消息接口校验与消息接口响应的方法。分享给大家供大家参考。具体分析如下: 开发微信公众平台消息接口过程中,我们首先需要验证消息接口的有效性,验证通过后,才可以进行...

关于PHP二进制流 逐bit的低位在前算法(详解)

复制代码 代码如下:  /******************************************************   &nb...

php版微信公众号接口实现发红包的方法

php版微信公众号接口实现发红包的方法

本文实例讲述了php版微信公众号接口实现发红包的方法。分享给大家供大家参考,具体如下: 最近接到一个任务,需要用微信来给用户自动发红包。要完成这个任务需要这么已经一些物料 微信商户号,已...

PHP简单判断字符串是否包含另一个字符串的方法

本文实例讲述了PHP简单判断字符串是否包含另一个字符串的方法。分享给大家供大家参考,具体如下: 在使用PHP判断某字符串中是否包含一个简单的子字符串的时候,我们通常会用到strpos()...

php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法

错误提示Invalid byte 1 of 1-byte UTF-8 sequence原因分析在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为...