匹配两个特殊符号
示例一
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_]
- (?=}): 从
}往前查找(}必须存在)