正则表达式

207 阅读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)