正则表达式

91 阅读1分钟

正则表达式

基本语法

正则是对字符串的合法性进行校验,在正则看来所有内容都是字符串

学习正则表达式就是学习它的元字符

使用//定义正则表达式: let ref = /正则表达式/

校验方法: 正则表达式.test(字符串),返回true/false

正则创建的建议

先占位后修饰

  • 修饰不能单独存在

从左到右写

边界符

作用:限定匹配的字符的长度

表现形式: /^表达式$/

元字符

占位符

  • 说明这里需要一个指定类型的字符

    • 数字
    • 大写字母
    • 小字字母
    • 空字符
    • 下划线
    • 其它字符
  • \d:代表一个数字: 0 1 2 3 4 5 6 7 8 9

    • 【0-9】
  • \w:匹配一个合法字符,合法字符有: 0-9 a-z A-Z _

    • 【0-9A-Za-z_】
  • \s:匹配一个空字符,空字符是指看不见内容的字符,如 空格,制表位 ,换行符

  • \S:匹配一个非空字符

  • \D:代表一个非数字

  • \W:代表一个非法字符

  • [指定的字符范围]:匹配指定的范围中的某一个字符

  • .:代表任意的一个字符

修饰符--量词

  • 作用:修饰前面的字符所出现的次数
  • *:修饰前面的字符出现任意次
  • +:修饰前面的字符出现一次或多次
  • ?:修饰前面的字符出现0次或1次
  • {n}:修饰前面的字符出现n次
  • {n,m}:修饰前面的字符最少出现n次,最多m次
  • {n,}:修饰前面的字符最少出现n次,最多 没有限制

转义:\

将元字符当成普通字符来处理

改变优先级:()

常用方法

test:进行匹配验证

replace:替换

  • 是字符串的方法,只不过方法可以传递正则表达式做为参数

  • g表示全局匹配:匹配全部的内容

  • let str = '23141241324123423112' // 将里面的1全部干掉---将1替换为'' let reg = /1/g // g全局,匹配所有

    str = str.replace(reg, '')
    // str = str.replaceAll(reg, '')
    console.log(str)
    

exec

  • 侧重是匹配之后的字符串提取

  • 调用这个方法如果成功返回一个数组,否则返回null

  • 提取:如果想提取字符串,就将你想提取的字符串的正则表达式部分,使用()包含

  • let email = 'wuhu0723@126.com'

    let reg = /^(\w{1})(\w+)[@]((\w+)[.](\w+))$/
    
    let obj = reg.exec(email)
    console.log(obj)