正则表达式(未完)

今天我们来讲一下正则表达式的基本使用
正则表达式的修饰符

i 执行对大小写不敏感的匹配
let a = ‘hEllo World’
let reg = /hello/i
console.log(reg.test(a)) // true

let str = ‘hello’
let reg1 = /Hello/i
console.log(reg1.test(str)) // true

let str1 = ‘hello’
let reg2 = /Hello/
console.log(reg2.test(str1)) // false
上面的第一个例子字符串a带有大写英文,而我们的匹配方式则为全部小写,我们会得到true,第二个例子str字符串全部为小写,而匹配方式则为大小写混合也是得到true,第三个则是不使用修饰符i的,得到为false,所以i是对大小写不敏感的

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
let a = ‘hello hello hello hello’
let reg = /hello/g
console.log(a.replace(reg, ‘*’)) // * * * *

let a1 = ‘hello Hello hello Hello’
let reg1 = /Hello/g
console.log(a1.replace(reg1, ‘*’)) // hello * hello *

let a2 = ‘hello Hello hello Hello’
let reg2 = /Hello/gi
console.log(a2.replace(reg2, ‘*’))

let a3 = ‘hello _Hello hello Hello’
let reg3 = /Hello/gi
console.log(a3.replace(reg3, ‘*’))* _* * *
对于g全局的匹配,我对于它的理解就是能找到的都可以,只要符合的行,看上面的四个例子,最主要是看最后一个一个例子不管是不是一体只要符合你的规则就可以

m 多行匹配 let a = ‘hellon hello hello hello’ let reg = /hello/m console.log(a.replace(reg, ‘*’)) // *
hello hello hello
let a1 = ‘hello Hellon hello Hello’ let reg1 = /Hello/m console.log(a1.replace(reg1, ‘*’)) // hello *
hello hello

let a1 = ‘hello hellon hello Hello’ let reg1 = /Hello/m console.log(a1.replace(reg1, ‘*’)) //hello hello
hello *

通过上面的两个例子,我们已经知道m修饰符也算是查找全局的修饰符但是它匹配到一个就不会再进行匹配了
咱们在这里再说一下es6的修饰y,又叫做粘连修饰符,和g修饰符类似也是全局匹配

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理