JavaScript正则表达式基础

创建正则表达式,一般有两种写法

javascript 复制代码
//定义式创建正则,写法:两个斜杠中间放正则式子
const reg = /鸡/;
//new关键字创建正则,写法:两个斜杠中间放正则式子或直接去掉斜杠放字符串式表达式
const regExp = new RegExp('鸡')

.test('需要验证的字符'),正则身上有个方法.test用来验证正则的匹配结果

预定义类

javascript 复制代码
// .的意思是除了换行和回车之外的任意字符
//如果检测的字符串里面包含 除了换行和回车之外的任意字符 那就返回true,否则返回false.
console.log(/./.test("\r"))// false   \r代表return,return表示回到一行的开头
console.log(/./.test("\n"))//false    \n代表newline,新的一行
console.log(/./.test("\r\n"))//false   \r\n表示换行并将光标定位到一行的开头
console.log(/./.test(""))//false
console.log(/./.test("12klk"))//true	

// \d表示数字,d是英文digit的意思
console.log(/\d/.test("kjdksj"));//false
console.log(/\d/.test("kj7ksj"));//true	

// \D表示非数字的意思
console.log(/\D/.test("kjdksj"));//true
console.log(/\D/.test("k2"));//true
console.log(/\D/.test("12345"));//false	

// \s表示表示不可见字符
console.log(/\s/.test("\t"));//true  \t 表示制表符
console.log(/\s/.test("\f"));//true  \t 表示换页符
console.log(/\s/.test("\v"));//true	 \v 表示垂直制表符
console.log(/\s/.test("\n"));//true	 \n 换行符
console.log(/\s/.test("\r"));//true	 \r 回车符
console.log(/\s/.test(" "));//true	
console.log(/\s/.test("jhsjhsdh"));//false	

// \S表示表示可见字符 跟小s相反
console.log(/\S/.test("\t"));//false  
console.log(/\S/.test("jinitaimei"));//true  
 
 // \w表示单词字符(所有单词和数字以及下划线_)
 console.log(/\w/.test("rerer3434"));//true  
 console.log(/\w/.test("3434"));//true  
 console.log(/\w/.test("wewewe"));//true  
 console.log(/\w/.test("___	"));//true  
 console.log(/\w/.test("@##$$"));//false  
 
 // \W表示非单词字符(所有非单词和数字以及下划线_)
 console.log(/\W/.test("rerer3434"));//false  
 console.log(/\W/.test("3434"));//false  
 console.log(/\W/.test("wewewe"));//false  
 console.log(/\W/.test("___wewe"));//false  
 console.log(/\W/.test("@##$$"));//true  

自定义类

javascript 复制代码
  console.log(/鸡/.test("鸡霓太美"));//true
  console.log(/鸡/.test("基尼太美"));//false

或跟优先级

javascript 复制代码
	// a|b 表示或,此处表示字母a或者b
	console.log(/a|b/.test("asasas"));//true
	console.log(/a|b/.test("sbbbbbbbb"));//true
	console.log(/a|b/.test("dfdfdfdf"));//false
	
	// q(a|b)q 表示优先计算(a|b),跟普通的数学运算一样
	console.log(/q(a|b)q/.test("qaq"));//true
	console.log(/q(a|b)q/.test("qbq"));//true
	console.log(/q(a|b)q/.test("qaa"));//false
	console.log(/q(a|b)q/.test("qqqq"));//false

简单类

javascript 复制代码
	// [abc]表示abc中的任意一个
	console.log(/[abc]/.test("qaq"));//true
	console.log(/[abc]/.test("bbbc"));//true
	console.log(/[abc]/.test("cc1213"));//true
	console.log(/[abc]/.test("dddfff"));//false
	console.log(/a[abc]a/.test("aaa"));//true
	console.log(/a[abc]a/.test("aca"));//true
	console.log(/a[abc]a/.test("aa"));//false

范围类

javascript 复制代码
	// [a-z]表示范围类a到字母z,[0-9]表示范围类0到数字9
	console.log(/[a-z]/.test("qaq"));//true
	console.log(/[a-z]/.test("cc"));//true
	console.log(/[a-z]/.test("2323"));//false
	console.log(/[0-9]/.test("2"));//true
	console.log(/[0-9]/.test("20"));//true
	console.log(/[0-9]/.test("wewe"));//false

负向类

javascript 复制代码
	// [^aa]表示除aa字符以外的任意字符
		console.log(/[^aa]/.test("aa"));//false
		console.log(/[^aa]/.test("vvvvvvvvaa"));//true
		console.log(/[^aa]/.test("wewewe"));//true
		console.log(/[^aa]/.test("12wewea"));//true

组合类

待更新

相关推荐
阿幸软件杂货间16 分钟前
Office转PDF转换器v1.0.py
开发语言·pdf·c#
蚂蚁RichLab前端团队22 分钟前
🚀🚀🚀 RichLab - 花呗前端团队招贤纳士 - 【转岗/内推/社招】
前端·javascript·人工智能
扯淡的闲人26 分钟前
多语言编码Agent解决方案(5)-IntelliJ插件实现
开发语言·python
丑小鸭是白天鹅35 分钟前
Kotlin协程详细笔记之切线程和挂起函数
开发语言·笔记·kotlin
萌萌哒草头将军39 分钟前
Oxc 和 Rolldown Q4 更新计划速览!🚀🚀🚀
javascript·vue.js·vite
sali-tec44 分钟前
C# 基于halcon的视觉工作流-章34-环状测量
开发语言·图像处理·算法·计算机视觉·c#
java搬砖工-苤-初心不变1 小时前
基于 lua_shared_dict 的本地内存限流实现
开发语言·junit·lua
Qlittleboy1 小时前
uniapp如何使用本身的字体图标
javascript·vue.js·uni-app
charlie1145141911 小时前
Kotlin 的 apply / with / run 详解
开发语言·kotlin·程序设计·面对对象
Tiger_shl1 小时前
【层面一】C#语言基础和核心语法-02(反射/委托/事件)
开发语言·c#