^
匹配输入的开头。如果多行模式设为 true,^
在换行符后也能立即匹配。
let reg = /^1[3-9]\d{9}/gm;
let str = "25000000000";
reg.test(str); // false
str = "15000000000\n17000000000";
let found = str.match(reg); // ['15000000000', '17000000000']
$
匹配输入的结束。如果多行模式设为 true,$
在换行符前也能立即匹配。
let reg = /^1[3-9]\d{9}7$/gm;
let str = "25000000000";
reg.test(str); // false
str = "15000000000\n170000000007";
let found = str.match(reg); // ['170000000007']
\b
匹配一个单词的边界(边界包括换行符和空格),这是一个字的字符前 / 后没有另一个字的字符位置。
let reg = /\bm/gm;
let str = "month\nmoom";
str.match(reg); // ['m', 'm']
reg = /th\b/gm;
str = "month\nthird";
str.match(reg); // ['th']
str = "month\nsomething";
str.match(reg); // ['th']
str = "month ufo";
str.match(reg); // ['th']
\B
匹配非单词边界。
let reg = /on\B/gm;
let str = "at noon";
str.match(reg); // null
str = "noon noon\nnoon";
str.match(reg); // null
str = "ongoing";
str.match(reg); // ['on']
向前断言: x 被 y 紧随时匹配 x,结果不包括 y。
let reg = /\d(?=y)/g;
let str = "1y2y3";
str.match(reg); // ['1', '2']
向前否定断言: x 没有被 y 紧随时匹配 x。
let reg = /\d(?!y)/g;
let str = "1y2y3";
str.match(reg); // ['3']
向后断言: x 跟随 y 的情况下匹配 x,结果不包括 y。
let reg = /(?<=y)\d/g;
let str = "y1y23";
str.match(reg); // ['1', '2']
向后否定断言: x 不跟随 y 时匹配 x。
let reg = /(?<!y)\d/g;
let str = "y1y23";
str.match(reg); // ['3']
如果你感觉文章不咋地
//(ㄒoㄒ)//
,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※
!!!