如何找到以标记开头的数字,然后将该数字设为变量?

时间:2011-10-28 18:26:41

标签: php html regex

我想查找前面带有class="g-b">$的所有数字,然后将该数字设为变量。

给出这样的HTML代码:

class="g-b">$195.00</div><span class="ship fee">+$10.00 shipping

现在我认为我应该使用正则表达式来查找带有class="g-b">$的术语,但是当我只想要数字时,我最终也会获取前面的文本。有没有办法只获取数字?我应该再做另一个正则表达式来获取数字吗?

3 个答案:

答案 0 :(得分:1)

从我的交互式php shell(以php -a开头):

php > $a = 'class="g-b">$195.00</div><span class="ship fee">+$10.00 shipping'
php > preg_match('/class="g-b">\$([\d\.]+)/g', $a, $matches);
php > var_dump($matches);
array(2) {
  [0]=>
  string(19) "class="g-b">$195.00"
  [1]=>
  string(7) "195.00"
}

希望这有帮助。

答案 1 :(得分:0)

regexp = /class=\"g-b\">\$(\d+\.?\d{0,2})\+\$(\d+\.\d{0,2}) /;
x = regexp.exec( text );

这会将数字保存为数组“x”;

答案 2 :(得分:0)

你想使用向前看只能得到数字:

喜欢以下...... '如果你想获得整数

(?<="g-b">$)\d+

'或者如果你想要整数和小数位:

 (?<="g-b">$)\d+[.]\d+