0

我有一个很大的段落,并且在其中的一个随机点出现了一个这样的字符串,我想提取它:

PID: 45678437

'PID' 前面有一个空格,数字后面有一个空格,数字长度可以是 6-10 个字符。

我实际上只需要这个数字,但想检查它前面是否有 PID:因为段落中可能还有其他大数字。

:)

4

3 回答 3

2
/ PID: (\d{6,10})/

这将匹配一个空格,PID:后跟一个空格,后跟 6-10 位数字并捕获这些数字。

我会鼓励你学习正则表达式。它们是一个强大的工具。

于 2013-09-04T00:46:18.347 回答
0

试试这个:

$pattern = '~(?<=\sPID:\s)[0-9]{6,10}(?=\s)~';
preg_match($pattern, $text, $match);
echo $match[0];

这个想法是使用环视来仅检查数字前后的字符而不匹配它们。

于 2013-09-04T00:46:34.430 回答
0
<?php
    $string = "PID: 4567895";
    preg_match("/PID:\s(\d{6,10})/", $string, $result);
    $value = $result[0];
    echo "The value is: {$value}";
?>
于 2013-09-04T00:47:53.900 回答