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

组合类

待更新

相关推荐
bluebonnet271 分钟前
【Rust练习】22.HashMap
开发语言·后端·rust
古月居GYH2 分钟前
在C++上实现反射用法
java·开发语言·c++
Myli_ing25 分钟前
HTML的自动定义倒计时,这个配色存一下
前端·javascript·html
在下不上天27 分钟前
Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复
大数据·开发语言·python
陌小呆^O^41 分钟前
Cmakelist.txt之win-c-udp-client
c语言·开发语言·udp
I_Am_Me_1 小时前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
重生之我是数学王子1 小时前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt
℘团子এ1 小时前
vue3中如何上传文件到腾讯云的桶(cosbrowser)
前端·javascript·腾讯云
Ai 编码助手1 小时前
使用php和Xunsearch提升音乐网站的歌曲搜索效果
开发语言·php
学习前端的小z1 小时前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript