用正常表达式的时候经常要匹配某些字符串前面或者后面的数据,比如:
admin=abc123;
我只想要’admin='后面的帐号名
解决问题关键正则表达式:
(?<=XXX)\w*:表示匹配XXX后面的字母和数字
\w*(?=XXX):表示匹配XXX前面的字母和数字
一定要加括号,表示这是一个 整体,还要注意表达式的顺序
var cookieName = "admin";
var str= "admin=abc123"
var pat = new RegExp("(?<="+cookieName+"=)\\w*","g"); //输出的正则表达式/?<=admin=\w*/g 表示匹配'admin='后面的内容
str.match(pat)[0];//返回的是个集合对象,取第一个之后会变字符串格式,不取也可以,但是如果有多个值会全部变字符串输出,所以还有取第1个确保数据的准确性
var cookieName = "admin";
var str= "admin=abc123;"
var pat = new RegExp("\\w*(?=;)","g") //输出的正则表达式/\w*(?<=;)/g 表示匹配';'前面的内容