js-正则表达式

325 阅读1分钟

正则表达式

基本语法

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

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

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

正则创建的建议

先占位后修饰 修饰不能单独存在 从左到右写

边界符

作用:限定匹配的字符的长度 表现形式: /^表达式$/

元字符

占位符

\d:代表一个数字: 0 1 2 3 4 5 6 7 8 9 也可以写成 [0-9]

\D:代表一个非数字

\w:匹配一个合法字符,合法字符有: 0-9 a-z A-Z _ 也可以写成 [0-9A-Za-z_]

\W:代表一个非法字符

\s:匹配一个空字符,空字符是指看不见内容的字符,如 空格,制表位 ,换行符

\S:匹配一个非空字符

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

.代表任意的一个字符

修饰符--量词

作用:修饰前面的字符所出现的次数

*:修饰前面的字符出现任意次

+:修饰前面的字符出现一次或多次

?:修饰前面的字符出现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)