网络应用程序接口 6:正则表达式
最编程
2024-10-01 15:13:51
...
Web APIs 6:正则表达式
1.定义及使用场景
- 用于匹配字符串中字符组合的模式,在JS中属于对象
- 通常用来查找、替换哪些符合正则表达式的文本,不属于JS专属,许多语言都支持正则表达式
- 使用场景:验证表单、过滤敏感词
2.语法
- 定义规则——>根据规则去查找
-
定义规则:
- const 变量名 = /表达式/
-
判断是否有符合规则的字符串,返回true|false
- 规则.test(检测目标)
- 检索符合规则的字符串,返回数组(记住上面的test就行)
- 规则.exec(被检测的字符串)
<script>
//要检测的字符串
const str = '数据分析、数学建模、数据库、高等数学'
//1.定义正则表达式 检测规则
const reg = /数学/
//2.检测方法
console.log(reg.test(str)) //返回true
</script>
3.元字符
-
普通字符:字母、数字等,只能匹配完全相同的字符
-
特殊字符:具有特殊含义的字符,eg:[a-z]表示26个英文字母
-
元字符分类
-
边界符:提示字符所处的位置
//边界符 ^表示以什么开头 $以什么结尾 console.log(/^哈/.test('哈哈哈')) //true console.log(/^哈/.test('二哈哈哈哈哈')) //false console.log(/^哈$/.test('哈哈哈')) //false 精确匹配,只有完全相同才为true
-
量词:表示重复次数
量词 说明 * 重复零次或多次 + 重复一次或多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次
console.log(/^哈*/.test('哈哈哈哈哈')) //true console.log(/^哈*$/.test('哈很哈哈')) //false console.log(/哈+$/.test('很哈哈哈')) //true console.log(/^哈?$/.test('哈哈哈')) //false console.log(/^哈{4}$/.test('哈哈哈')) //false console.log(/^哈{3}$/.test('哈哈哈')) //true
- 字符类::\d表示0~9
- […]匹配字符集合,只要括号里的任意字符出现都返回true
- [^]:取反
- . 匹配除换行符之外的任何单个字符
- 预定义类:
预定类 说明 \d 匹配0-9的任一数字,[0-9] \D 匹配所有0-9以外的数字 \w 匹配任意的字母、数字、下划线,相当于[A-Za-z0-9_] \W 除所有数字、字母、下划线以外的字符 \s 匹配空格(包括换行符、制表符、空格符等),[\t\r\n\v\f] \S 匹配非空格的字符 -
4.修饰符:
-
约束正则执行的某些细节行为,如是否区分大小写,是否支持多行匹配等
-
语法:/表达式/修饰符
-
i修饰符:ignore,不区分大小写
-
g修饰符:global,匹配所有满足表达式的结果
console.log(/^java$/i.test('JAVA')) //true
- replace替换:字符串.replace(/正则表达式/,‘替换的文本’)
const str = 'java是一门编程语言,Java很有趣'
const re = str.replace(/java/ig, '前端') // i是不区分大小写,g是全局替换
console.log(re)
注:web APIs模块到这里就基本结束啦~后面还会继续更新JS中es6的新语法相关知识,有问题可以在评论区留言哦!
推荐阅读
-
网络应用程序接口 6:正则表达式
-
5 个用于移动网络开发的应用程序接口
-
网络请求优化:如何让您的应用程序接口飞起来
-
ThingJS 是与网络地图应用程序接口(Web Maps API)一起开发的,可以更好地展示数据!
-
网络应用层 (1) DHCPv6 协议
-
软考中级(网络工程师考核要点) 第 1 章 计算机网络系统(信道特性的应用) 第 6 期(4B/5B 编码、数字调制技术和脉冲编码调制)
-
前端] 网络应用程序接口
-
网络前端实用应用程序接口
-
.NET高级面试指南 Topic XVIII [ 介绍外观模式(Appearance Pattern),该模式提供了一个隐藏系统复杂性的简化界面 ]。- 简化复杂系统:当系统具有复杂的子系统结构时,可以使用外观模式来简化界面。提供统一界面:当客户端需要访问多个子系统时,可以使用外观模式提供统一界面。 外观模式在现代软件开发中得到广泛应用,尤其是在复杂系统中。例如 图形用户界面库:许多图形用户界面库(如 Qt、GTK+ 等)都使用外观模式来隐藏底层的复杂性,并为开发人员提供简单的界面来创建用户界面。 操作系统接口:操作系统中的系统调用和应用程序接口通常也使用外观模式来隐藏底层硬件和系统的复杂性,为应用程序提供访问系统资源的简单接口。企业应用程序:在可能涉及多个子系统的大型企业应用程序中,外观模式可用于封装这些子系统,并为客户端提供统一的使用界面。 网络框架:许多网络框架(如 ASP.NET MVC、Spring MVC 等)也使用外观模式来隐藏底层的复杂性,并为开发人员提供简单的接口来处理 HTTP 请求和响应。 集成开发环境(IDE):集成开发环境通常包含代码编辑器、编译器、调试器等多种功能。外观模式可用于封装这些功能,并为开发人员提供开发软件的简单界面。 代码示例:
-
使用网络音频应用程序接口制作音频可视化工具