我有一个以下格式的文本文件。
Wed Aug 27 20:24:53.536 IST
address ref clock st when poll reach delay offset disp
*~172.16.18.163 .GPS. 1 657 1024 377 13.99 1.801 19.630
~127.127.1.1 .LOCL. 3 15 64 377 0.00 0.000 1.920
* sys_peer, # selected, + candidate, - outlayer, x falseticker, ~ configured
文件已动态生成我需要获取“.GPS”旁边的“st”(1)值的值。 。文字'.GPS。'在每个文件中都是一样的。
检查以下代码:
$f1_content = file_get_contents('filename.txt');
if(preg_match("/\b(.*)\s(.*)\s[0-9]\s\b/i", $f1_content, $match))
{
print_r($match); die();
}
没有得到任何匹配。知道如何做到这一点吗?
答案 0 :(得分:1)
你可以这样说:
@\.GPS\.\s+\K(\d+)@is
PHP:
preg_match("@\.GPS\.\s+\K(\d+)@is", $f1_content, $match)
如果您出现的情况多于此类,则应使用preg_match_all
答案 1 :(得分:0)