JavaScript正则表达式向前匹配和向后匹配,匹配某些字符串前面或后的内容

  • Post author:
  • Post category:java




用正常表达式的时候经常要匹配某些字符串前面或者后面的数据,比如:

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 表示匹配';'前面的内容



版权声明:本文为xz842913787原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。