我已经查看过有关SO的其他问题,无法为此做出调整:
如何在"之间提取数字?#34;和"脚"在这个字符串?
Maximum was 5.29 feet at 2015-10-28 07:59 10
这些数字的范围可以是-8.xx到30.xx,并且措辞总是相同的,初始单词是最大值或最小值以及更改日期戳。
答案 0 :(得分:1)
使用lookbehind and lookahead匹配数字周围的字词:
preg_match('/(?<=was )[\d.]+(?= feet)/', $string, $match);
Looakarounds用于匹配部分输入,但它们不包含在匹配结果中。然后$match[0]
将包含数字。
更传统(预先看)的方式是使用捕获组:
preg_match('/was ([\d.]+) feet/', $string, $match);
在这种情况下,$match[1]
将包含与第一组括号内的组匹配的输入部分。