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

组合类

待更新

相关推荐
资讯综合3 小时前
2026全国云渲染网站排名 不同需求用户适配榜单
开发语言·前端·javascript
aramae3 小时前
模拟实现strcpy(字符串拷贝)(C语言)
java·c语言·开发语言·算法
PHP实战开发录3 小时前
PHP接口超时后为什么任务还在跑
开发语言·前端·php·开发
m0_734571763 小时前
深入理解C++ 构造函数<十一> initializer_list 构造
开发语言·c++
数据狐(Datafox)3 小时前
京东商品详情API接口解析(附 JSON 样例)
java·开发语言·json
Wang's Blog3 小时前
Java框架快速入门: Spring Security+OAuth2之深度定制UserDetailsService与密码无缝升级
java·开发语言·spring
白远山3 小时前
智慧场馆解决方案小程序系统开发实战与架构设计指南
java·开发语言·小程序·架构
ECT-OS-JiuHuaShan3 小时前
哲学是迭代学,数学是拓扑学
开发语言·人工智能·学习·算法·机器学习·php·拓扑学
影视飓风TIM3 小时前
C++异常与RAII智能指针笔记
开发语言·c++·笔记
HwJack203 小时前
用 HML + CSS + JS 三段式写鸿蒙界面
javascript·css·harmonyos