1

我想16197226146使用 PHP 从以下字符串中提取:

"(480) 710-6186" <18583894531.16197226146.S7KH51hwhM@txt.voice.google.com>

有人可以帮我解决正则表达式吗?

4

2 回答 2

4

<\d*?\.(\d+)

<    Match "<"
\d   Match digits
   *    0 or more times
   ?    Lazy, take as little as possible
\.   Match a "."
(    Capture
   \d   Match digits
   +    1 or more times
)    Stop capturing

这与 a 之后的第二个数字匹配.。比赛在第 1 组。

if (preg_match("/<\d*?\.(\d+)/", $subject, $regs)) {
    $result = $regs[1];
} else {
    $result = "";
}

你可以在这里玩正则表达式

于 2012-06-07T23:38:07.680 回答
0

你可以使用爆炸。

$value = "(480) 710-6186"<18583894531.16197226146.S7KH51hwhM@txt.voice.google.com>";

$result  = explode('.', $value);
echo $result[1]; // is 16197226146
于 2015-02-14T11:20:04.973 回答