我希望提取位于' specid'之后的数字。就在'& type'之前以下网址的一部分:
"的 http://subdom.someurl.com/cat/motorparts?id=12345&specid=245038.100006592&type=10&page=0 "
数字是变量,因此它们的长度可能会波动。
当谈到正则表达时,我是一个新手,但任何有助于我继续前进的帮助都会很棒。
答案 0 :(得分:2)
@Quick Joe Smith的正则表达式答案会很好。
您还可以使用PHP中的url组件解析来检索数据,然后使用简单的 字符串操作
<?php
$tokens = array();
parse_str("http://subdom.someurl.com/cat/motorparts?id=12345&specid=245038.100006592&type=10&page=0",$tokens);
var_dump($tokens['specid']);
?>
答案 1 :(得分:1)
我对PHP不大,但看起来应该是这样的:
preg_match('/specid=\d+\.(\d+)/i', $input, $matches);
$matches
是一个存储所有匹配项的数组。你所追求的价值将在第二个元素中。有关详情,请参阅preg_match。
我不是百分百肯定,但是从我可以推断出的情况来看,确保你在模式字符串周围使用单引号,否则你将不得不逃避反斜杠,这使得正则表达式比现在更难以理解。