簡體   English   中英

從字符串中提取9位數字

[英]extract 9 digit number from a string

我基本上在php中有一個包含字符串的數組,我基本上需要過濾該字符串以獲取9位ID號(用括號括起來),我確定可以使用正則表達式來做到這一點,但是im毫無章法。

我知道正則表達式會以數組的形式返回其結果,因為可能會有多個結果,但是我知道每個字符串都不會有多個結果,因此,如果可能,我需要將結果直接放入我已經存在的數組中

例:

function getTasks(){
   //filter string before inserting into array
   $str['task'] = "meeting mike (298124190)";

   return $str;
}

通過使用preg_replace您只有一個行過濾器。

 $str['task'] = preg_replace('/.*\((\d{9})\).*/', '$1', "meeting mike (298124190)");

使用preg_match

$strings = array("meeting mike (298124190)", "meeting mike (298124190)", "meeting mike (298124190)");
foreach ($strings as $string) {
    if (preg_match("|\(([\d]{9})\)|", $string, $matches)) {
        $str[] = $matches[1];
        // OR $str['task'][] = $matches[1];
    }
}
print_r($str);
<?php
    $str = "meeting mike (298124190)";
    preg_match("/([0-9]{9})/s", $str, $result);

    print_r($result); // $result is an array with the extracted numbers
?>

好吧,假設它是唯一的一個(用括號括起來的9位數字),則將執行以下操作:

preg_match("|\(([0-9]{9})\)|", $str['task'], $matches);
return $matches[1]; //Will contain your ID.

它的東西像:

$str = "meeting mike (298124190)";
$pattern = '/[0-9]{9}/';
if (preg_match($pattern, $str, $matches))
{

    echo $matches[0];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM