小言_互联网的博客

js正则表达式语法

368人阅读  评论(0)

一、方括号 [] 用法

let a = ‘abcd’
let a2 = ‘532405’
// [ab] 匹配方括号里任意字符
console.log( a.match(/[ab]/g) ) // [‘a’, ‘b’]
console.log( a.match(/[^ab]/g) ) // [‘c’, ‘d’]
console.log( a2.match(/[0-3]/) ) // 第一次匹配到 从0到3里 任意一个就停止,并返回该值组成的数组

二、特殊含义字符

let b = ‘ak-l&qe3’
let b2 = 'a¥q d
1’
// . 匹配除 换行和结束符 外的任意字符
console.log(b.match(/./g)) // [“a”, “k”, “-”, “l”, “&”, “q”, “e”, “", “3”]
// 匹配 字母数字下划线 等同于 [0-9a-zA-Z_]
console.log(b.match(/\w/g)) // [“a”, “k”, “l”, “q”, “e”, “3”]
// 匹配 除字母数字下划线外 的任意字符,等同于 [^0-9a-zA-Z_]
console.log(b.match(/\W/g)) // ["-", “&”, "
”]
// 匹配数字
console.log(b.match(/\d/g)) // [“3”]
// 匹配非数字
console.log(b.match(/\D/g)) // [“a”, “k”, “-”, “l”, “&”, “q”, “e”, “"]
// 匹配空白符
console.log(b2.match(/\s/g)) // [" "]
// 匹配非空白符
console.log(b2.match(/\S/g)) // [“a”, “¥”, “q”, “d”, "
”, “1”]
// 或匹配,如 /x|y/ 正则可匹配x或y两个字符
console.log(b2.match(/a|q/g)) // [“a”, “q”]
// 反斜线字符
console.log(b2.match(/*/g)) // ["*"]

三、重复匹配

let c = ‘haa kqww’
// 重复出现一次或多次
console.log(c.match(/w+/g)) //[“ww”]
// 重复出现零次或多次
console.log(c.match(/ha*/g)) // [“haa”]
// 重复出现零次或多次
console.log(c.match(/ha?/g)) // [“ha”]
// 重复出现n次
console.log(c.match(/w{2}/g)) // [“ww”]
// 至少重复出现n次
console.log(c.match(/w{1,}/g)) // [“ww”]
// 重复重现m到n次,其中,m<n
console.log(c.match(/a{1,2}/g)) // [“aa”]

使用到正则的场景

  1. RegExp对象相关方法
    test() 判断是否匹配,返回 true/false
    exec() 返回匹配的结果,与match相识 返回数组或null

  2. String对象相关方法
    match() 返回匹配的结果, 非全局条件下与exec返回的结果一致,并拥有指向匹配字符串的信息,全局条件下一次性返回全部的匹配结果
    replace() 将字符串替换为另外的字符串或将正则匹配的字符串替换为其他字符串
    search() 查找到第一次匹配的字符串的位置,返回index值,匹配不到的放回 -1
    split() 按约定字符串或正则规则拆分成数组,返回值是数组


转载:https://blog.csdn.net/sinat_35538827/article/details/102500423
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场