基本元字符:
* 表示前一个字符出现0次或者无限次
? 表示前一个字符出现0次或者1次
+ 表示前一个字符出现1次或者无限次
演示:
后半部分重复的演示
*的演示
let a="abnbnbnbn";
let reg1=/(bn)*$/;
let result1=a.match(reg1);
console.log(result1);
let reg11=/(bn)*/;
let result11=a.match(reg11);
console.log(result11);
?的演示
let a="abnbnbnbn";
let reg2=/(bn)?$/;
let result2=a.match(reg2);
console.log(result2);
let reg22=/(bn)?/;
let result22=a.match(reg22);
console.log(result22);
+的演示
let a-"abnbnbnbn";
let reg3=/(bn)+/;
let result3=a.match(reg3);
console.log(result3);
let reg33=/(bn)+$/;
let result33=a.match(reg33);
console.log(result33);
结论:
后半部分重复时 *、?、+、输出的结果分为:[重复完的内容,重复内容,索引值(index),整个内容(input),groups]
出现的问题:重复的内容与*、?直接用得不到结果;
开头重复与全部重复的演示
let b="aaaaaaaabadfghjkl";
let reg4=/a*/;
let result4=b.match(reg4);
console.log(result4);
let reg44=/a?/;
let result44=b.match(reg44);
console.log(result44);
let reg444=/a+/;
let result444=b.match(reg444);
console.log(result444);
let b="aaaaaaaa";
let reg4=/a*/;
let result4=b.match(reg4);
console.log(result4);
let reg44=/a?/;
let result44=b.match(reg44);
console.log(result44);
let reg444=/a+/;
let result444=b.match(reg444);
console.log(result444);
结论:
全部重复与开头重复时 *、?、+、输出的结果分为:[重复完的内容,索引值(index),整个内容(input),groups]
中间重复时的演示
let b="banananannn";
let reg4=/a*/;
let result4=b.match(reg4);
console.log(result4);
let reg44=/a?/;
let result44=b.match(reg44);
console.log(result44);
let reg444=/a+/;
let result444=b.match(reg444);
console.log(result444);
结论:
中间重复时:*、?、+、输出的结果分为:[重复内容,索引值(index),整个内容(input),groups]
出现的问题:*、?、检测不到重复内容;