当前位置:网站首页>js的正则表达式
js的正则表达式
2022-04-22 22:03:00 【代森森】
概述
定义
正则表达式是对字符串和特殊字符操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。
作用
判断输入的字符串是否符合规则,比如可以制作表单验证
特点
灵活性强,逻辑性和功能性非常强
可以迅速地使用极简单的方式达到字符串的复杂控制
入门时会觉得比较晦涩难懂
实际开发一般是复制写好的正则表达式,按照要求修改
使用
创建正则表达式
1.通过字面量来创建:var 变量名=/表达式/
// 1.利用字面创建 正则表达式
var rg = /123/;
console.log(rg); //123
2.利用RegExp对象来创建正则表达式
// 2.利用RegExp对象来创建正则表达式
var regexp = new RegExp(/123/);
console.log(regexp); //123
检测正则表达式的使用
test()
正则对象方法,用于检测字符串是否符合该规则,该对象会返回true和false,其参数是测试字符串
使用:
regexObj.test(str)
1.regexObj是写的正则表达式
2.str我们要测试的文本
3.检测str文本是否符合我们写的正则表达式规范
4、只要包含str的字符串,返回都是true
var rg = /123/;
console.log(rg.test('abc')); //false
console.log(rg.test('123')); //true
console.log(rg.test('112233')); //false
console.log(rg.test('11123333')); //true
边界符
边界符(位置符号)表示字符所处的位置

console.log(" ^============================== ");
var reg = /^abc/
console.log(reg.test('abcd')); //true
console.log(reg.test('abc')); //true
console.log(reg.test('aabc')); //false
console.log(" $============================== ");
var reg1 = /^abc$/
console.log(reg1.test('abcd')); //false
console.log(reg1.test('abc')); //true
console.log(reg1.test('aabc')); //false
console.log(reg1.test('abcabc')); //false
量字符
设定某个模式出现的次数

// * 相当于出现>=0 可以出现0次或者很多次
console.log('======*========');
var reg = /^a*$/;
console.log(reg.test('')); //true
console.log(reg.test('a')); //true
console.log(reg.test('aaa')); //true
// + 相当于出现>0 可以出现1次或者很多次
console.log('======+========');
var re = /^a+$/;
console.log(re.test('')); //false
console.log(re.test('a')); //true
console.log(re.test('aaa')); //true
// ? 相当于出现1||0 可以出现1次或者0多次
console.log('======?========');
var reg1 = /^a?$/;
console.log(reg1.test('')); //true
console.log(reg1.test('a')); //true
console.log(reg1.test('aaa')); //false
// {n} 重复n次
console.log('======{n}========');
var reg2 = /^a{3}$/; //重复3次
console.log(reg2.test('')); //false
console.log(reg2.test('a')); //false
console.log(reg2.test('aaa')); //true
console.log(reg2.test('aaaa')); //false
// {n,} 重复n次起步
console.log('======{n,}========');
var reg3 = /^a{3,}$/; //重复3次次起步
console.log(reg3.test('')); //false
console.log(reg3.test('a')); //false
console.log(reg3.test('aaa')); //true
console.log(reg3.test('aaaa')); //true
// {n,m} 重复n到m次起步
console.log('======{n,m}========');
var reg4 = /^a{3,5}$/; //重复3到5次
console.log(reg4.test('')); //false
console.log(reg4.test('a')); //false
console.log(reg4.test('aaa')); //true
console.log(reg4.test('aaaa')); //true
console.log(reg4.test('aaaaa')); //true
console.log(reg4.test('aaaaaa')); //false
预定义类
某些常见模式的简写方式

括号总结
1.中括号:字符集合, 匹配方括号中的任意字符
2.大括号:量字符, 里面表示重复次数
3.小括号 :表示优先级
版权声明
本文为[代森森]所创,转载请带上原文链接,感谢
https://blog.csdn.net/ovocc/article/details/124275607
边栏推荐
- Characteristics of Vickers Vickers proportional valve
- How to make a successful open source project
- Dynamic memory in C language
- 企业应如何制定云计算使用中的灾难恢复计划?
- 百思买Best Buy 网站EDI 测试流程
- Wechat applet - day 4
- Low level teams should not use typescript
- Is Huishang futures a formal platform? Is it safe to open an account?
- 强化学习(实践):REINFORCE,AC
- TOOLS.INI‘does not contain a valid tool path
猜你喜欢

对象大小与指针压缩--JVM

小赛毛游C记——初识C语言(3)

2.59-编写一个C表达式,它生成一个字,由x的最低有效字节和y中剩下的字节组成。对于运算数x =0x89ABCDEF和y=0x76543210,就得到0x765432EF.

io_uring技术在分布式云原生数据库中的应用

MySql--库的操作
![[wechat applet development (cloud wallpaper applet tutorial)]](/img/71/d1ec9b0e7af47427c1e19b9b949bfa.png)
[wechat applet development (cloud wallpaper applet tutorial)]

Reinforcement learning (practice): feedback, AC

【4.1】flink窗口算子的trigger触发器和Evictor清理器

Typical application scenarios of alicloud log service SLS

Weekly Q & A highlights: is polardb-x fully compatible with MySQL?
随机推荐
强化学习(实践):DQN,Double DQN,Dueling DQN
MetaWork:拜托,这样远程结对编程超酷的!
CAS统一身份认证(二):Overlay配置管理
TCP/IP 协议及网络分层模型
静态和动态控制数码管
Typical application scenarios of alicloud log service SLS
【深入浅出强化学习】1 绪论
MySql内置函数
KunlunDB对MySQL私有DML语法的支持
Why is bi so important to enterprises?
51 MCU proteus simulation key control nixie tube digital display
Database resource load management (Part 2)
高端啤酒正在失去年轻人
跨域问题及Umi-proxy代理解决跨域问题
Preprocessing is the process of a program
Kunlundb's support for MySQL private DML syntax
外部中断---------stm32f407zet6
ES6 transforms two-dimensional and multi-dimensional arrays into one-dimensional arrays
How to make a successful open source project
Which is the most suitable educational financial product?