JavaScript正则表达式之前瞻
概念
正则表达式从文本头部向尾部开始解析,文本尾部称为“前”。
前瞻就是在正则表达式匹配到规则的时候,向前检查是否符合断言。后顾/后瞻方向相反。
exp(?=assert)
:正向前瞻exp(?!assert)
:负向前瞻exp(?<=assert)
:正向后顾 exp(?<!assert)
:负向后顾
*JS不支持后顾。
示例
// 判断一个单词字符之后是否是数字(正向前瞻),
// 是的话,则符合匹配,进行替换
var str = "a2*3";
var reg = /\w(?=\d)/g;
str.replace(reg,"X"); //'X2*3'
//判断一个单词字符之后是否是非数字(负向前瞻),
// 是的话,则符合匹配,进行替换
var str = "a2*3";
var reg = /\w(?!\d)/g;
str.replace(reg,"X"); // 'aX*X'
About
GitHub: 👉https://github.com/microzz
个人网站: 👉https://microzz.com/