正则表达式怎样实现”找到匹配但不包含“这样的需求

有一段类似这样的字符串"?mid=6126681753,6127044185&srcid=3002299072"
如果要匹配mid=后面的第一串数字,正则表达式要怎么写啊?我用这样的new RegExp(/mid=([0-9]+)/g);找到的是"mid=6126681753",但我不想要”mid=“。

阅读 11.8k
3 个回答

另一种方法是 pcre的look ahead (预匹配),有兴趣的话可以去了解下。

例子见此回答的评论。

既然你已经指定了子模式,那就可以这样了。

var matches = new RegExp(/mid=([0-9]+)/g).exec("?mid=6126681753,6127044185&srcid=3002299072");
console.log(matches[1]);
var g = '';
var s ="?mid=6126681753,6127044185&srcid=3002299072";
var r = new RegExp(/mid=([0-9]+)/g);
var rr = s.replace(r,function($1,$2){g=$2;return $2});
document.write(g);

可以自己再简化。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进