正则表达式:出现PHP之前的数值

时间:2015-02-09 22:55:24

标签: php regex

给出字符串:

100,000 this is some text 12,000 this is text I want to match.

我需要一个基于匹配

匹配 12,000 的正则表达式
text I want to match

因此,我们可以获得一个职位:

strpos($haystack, 'text I want to match');

然后,我想我们可以使用正则表达式向后看:

但是,这是我需要帮助的地方。

3 个答案:

答案 0 :(得分:2)

很简单:

/ ([0-9,]+) this is text I want to match\.$/

演示:

http://sandbox.onlinephpfunctions.com/code/b288ca9a322c7a5b54c6490334540ab142b6a979

答案 1 :(得分:2)

如果你知道数字总是在你想要匹配的基础上下文之前......

preg_match('/([\d,]+)\D*text I want to match/', $str, $match);
var_dump($match[1]);

答案 2 :(得分:0)

另一种解决方案:

$re = "/([\\d,]+)(?=\\D*text I want to match)/";
$str = "100,000 this is some text 12,000 this is text I want to match.";

preg_match($re, $str, $matches);

Live demo