Javascript正则表达式截取一行内某个前缀后的所有字符

一个最常用的场景 截取两个字符串中间的字符串

你会发现逗号后面是你要的东西

为什么想要的东西在逗号后,也就是数组第二个.

是因为match的返回数组,第一个表示匹配的字符串,這里是包括id ff的,结果是id0000ff

第二个是子正则表达式,什么是子正则表达式,()里面的内容就是子正则表达式,就是指\s*,这才是我们要的东西

其实,在高级语言裏,我们会用一个叫数量词的概念

(?=abc)这表示以abc结尾的前面的字符串,但不包括abc

因为它只管逻辑,但不会输出.

这种东西叫正向肯定预查,就是查***前面的芓符串,

很多高级语言里面还有叫"反向肯定预查",就是叫***后面的字符串,一般是这样写

}

一个常见的场景获取:标签背景图片链接:

备注:以下脚本直接写在JS里,语法检查失败但是可以直接在谷歌的控制台正常使用,可能JS还不支持该写法:/(?<=X)/ 不过不影响使用,也可以这样写: new RegExp("(?<=X)");

2-获取指定字符串之前: (?=指定字符串)

该匹配规则在正则表达式里叫:断言匹配可见参考资料如下

}

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

我只想要’admin='后面的帐号名
解决问题关键正则表达式:
一定要加括号,表示这是一个 整体,还要注意表達式的顺序

str.match(pat)[0];//返回的是个集合对象取第一个之后会变字符串格式,不取也可以但是如果有多个值会全部变字符串输出,所以还有取第1个確保数据的准确性
}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信