我想查找前面带有class="g-b">$
的所有数字,然后将该数字设为变量。
给出这样的HTML代码:
class="g-b">$195.00</div><span class="ship fee">+$10.00 shipping
现在我认为我应该使用正则表达式来查找带有class="g-b">$
的术语,但是当我只想要数字时,我最终也会获取前面的文本。有没有办法只获取数字?我应该再做另一个正则表达式来获取数字吗?
答案 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+