Skip to main content

匹配两个特殊符号

示例一

var path = "?221766&type=edit";

var reg = /(?<=(?:\?))[0-9]*(?!=&)/g;
var res = path.match(reg, "")[0];

//output: 221766

分析

注意:?需要转义?:\?

  • (?<=(?:\?)) :匹配?后面(排除?
  • [0-9]* :数字
  • (?!=&) : 从&往前查找(&可不存在)

示例二

var path = ",dfdg}";

var reg = /(?<=,)(\w)+(?=})/g;
var res = path.match(reg, "")[0];

//output: dfdg

分析

  • (?<=,) : 匹配,后面(排除,
  • (\w)+ : 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
  • (?=}): 从}往前查找(}必须存在)

参考