正则表达式从 URL 中提取某个数字属性 ?

阅读 8.5k
3 个回答
// js版本
var match = url.match(/&id=([^&]+)?&/)[1]

可以分组:
以下为python语法:

url = 'http://oo.com/index.php?m=content&c=index&a=show&catid=17&id=129&siteid=2'
p = re.compile(r'&id=(?P<num>\d*)')
m = p.search(url)
print m.groupdict()['num']

加个括号,在正则中进行分组
&id=([1-9]\d)*

示例PHP代码:

<?php 
/**
 * 1010000002597059
 */

$text = "http://oo.com/index.php?m=content&c=index&a=show&catid=17&id=129&siteid=2";
$pattern = "/&id=([1-9]\d*)/i";
preg_match($pattern, $text, $out);
var_dump($out);
 ?>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进