>  기사  >  백엔드 개발  >  PHP는 정규식을 결합하여 string_php 팁의 숫자를 얻습니다.

PHP는 정규식을 결합하여 string_php 팁의 숫자를 얻습니다.

WBOY
WBOY원래의
2016-05-16 20:13:161129검색

php는 정규 표현식을 결합하여 문자열의 숫자를 가져옵니다

<&#63;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="12345678 시대에 123이 발생했습니다."를 가져옵니다. $a에서 숫자 12345678을 캡처하는 함수를 제공하고, 그렇지 않은 경우 0을 반환합니다.
좋은 함수를 작성하려면
1. 길이가 8인 숫자만 일치합니다.
2. 발견되면 변경된 번호를 반환하고, 발견되지 않으면 0을 반환

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

인터넷에서 검색해서 테스트해보니 괜찮은데 문자길이가 d{4}나 고정길이가 아니면 안되는군요

function findNum($str=''){
 if(empty($str)){return '';}
 $reg='/(\d{4}(\.\d+)&#63;)/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];

물론 인터넷에서 많은 숫자를 볼 수 있었지만 효과가 있었던 것이 있었기 때문에 다시 테스트하지는 않았습니다.

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.