我有一个很大的段落,并且在其中的一个随机点出现了一个这样的字符串,我想提取它:
PID: 45678437
'PID' 前面有一个空格,数字后面有一个空格,数字长度可以是 6-10 个字符。
我实际上只需要这个数字,但想检查它前面是否有 PID:因为段落中可能还有其他大数字。
:)
我有一个很大的段落,并且在其中的一个随机点出现了一个这样的字符串,我想提取它:
PID: 45678437
'PID' 前面有一个空格,数字后面有一个空格,数字长度可以是 6-10 个字符。
我实际上只需要这个数字,但想检查它前面是否有 PID:因为段落中可能还有其他大数字。
:)
试试这个:
$pattern = '~(?<=\sPID:\s)[0-9]{6,10}(?=\s)~';
preg_match($pattern, $text, $match);
echo $match[0];
这个想法是使用环视来仅检查数字前后的字符而不匹配它们。
<?php
$string = "PID: 4567895";
preg_match("/PID:\s(\d{6,10})/", $string, $result);
$value = $result[0];
echo "The value is: {$value}";
?>