//字面量方式
// let reg = /\d/;
//实例创建方式
// let reg = new RegExp("");
//正则的两种创建方式是有区别的
//在字面量方式中,//之间包起来的所有内容都是元字符,有的具有特俗的意义,大部分都是代表本身含义的普通的元字符
let name = "name";
let reg11 = /^\d+"+name+"\d+$/;
console.log(reg11.test("20103name2345"));//false
console.log(reg11.test('2334"""nameeee"2016"'));//true
//需要用字符串拼接的方式创建正则,只能使用实例
let reg12 = new RegExp("^\\d+" + name + "\\d+$");
console.log(reg12.test("20102name0044"));//true
//字面量方式实例创建的方式在正则中的区别
//1.字面量方式中出现的一切都是元字符,所有不能进行变量值的拼接,而实例创建的方式是可以的
//2.字面量方式中直接写\d就可以,而在实例中需要把它转译 \\d
/*
正则是用来处理字符串的
1.匹配:判断一个字符串是否符合制定的规则,例如reg.test(str)
2.捕获:把字符串符合正则规则的内容捕获到,例如reg.exec(str)
*/
// console.log(RegExp.prototype)
//在中括号中出现的所有字符都是代表本身意思的字符(没有特殊的含义)
// let reg = /^[.]$/;
// "|"符号使用
let reg = /^18|19$/;
console.log(reg.test("1"));//false
console.log(reg.test("19"));//true
console.log(reg.test("189"));//true
//出现以上结果的原因是优先级不是18|19,而是^或者$,改进为/^(18|19)$/
/*
1.有效数字的正则,有效数字为正数 负数 零 小数
实现思路:
1)小数的"."可以出现也可以不出现,出现则后面一定跟着一位或多位的数字
2)最开始可以有"+"或者"-",也可以没有二者
3)正数部分,一位数可以是0-9之间的一个,多位数不能以0开头
*/
//\d表示1位数,[1-9]\d+表示多位数,\.\d+表示小数点及其后面的数字,[+-]?加号和减号可能出现或者不出现
let significanceDigitReg = /^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;
网友评论