JavaScript从入门到精通系列第三十一篇:详解JavaScript中的字符串和正则表达式相关的方法

文章目录

知识回顾

1:概念回顾

2:正则表达式字面量

一:字符串中正则表达式方法

1:split

2:search

3:match

4:replace


大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。

孙哥链接:孙哥个人主页
作者简介:一个颜值99分,只比孙哥差一点的程序员
本专栏简介:话不多说,让我们一起干翻JavaScript

本文章简介:话不多说,让我们讲清楚JavaScript里边的正则表达式

知识回顾

1:概念回顾

        正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式检查一个字符串是否符合规则,或者将字符串中符合规则的内容提取出来。

2:正则表达式字面量

        语法:var 变量 =/正则表达式/匹配模式;这种方式创建更加简单,使用构造函数创建更加灵活

var reg = new RegExp("正则表达式","匹配模式");

        正则表达式的预发是基于构造函数创建,里边需要有两个参数,一个是正则表达式,另外一个是匹配模式。

        编写代码:

var reg = new RegExp("a");
console.log(a);

一:字符串中正则表达式方法

1:split

        split是String当中的方法,可以将一个字符串拆分为一个数组

var str = "1a2b3c4d5e6f";
var result = str.split("c");
console.log(result);

        但是这样玩有点不灵活,写啥按照啥进行拆分。 我们想根据我们任意字母来将字符串进行拆分

        我们方法中可以传递一个正则表达式作为一个参数,这样方法将会按照正则表达式去拆分字符串。

        证明这件事情:

var str = "1a2b3c4d5e6f";
var result = str.split(/[a-z]/);
console.log(result);

        运行结果: 

2:search

        这个方法可以搜索字符串中是否指定内容

        证明这件事情:

var str = "hello abc hello abc";
var result = str.search("abc");
console.log(result);

        运行结果:

        返回第一次搜索到的结果索引如果没有的话返回-1 

        他可以接收一个正则表达式作为参数,根据正则表达式作进行检索。

        证明这件事情:

        搜索我们字符串中是否包含:abc 或者 aec 或者 afc

var str = "hello abc hello aec afc";
var result = str.search(/a[bef]c/);
console.log(result);

        运行结果:

3:match

        可以根据正则表达式将复合条件的内容提取出来

        证明这件事情:

var str = "1a2b3c4d5e6f";
var result = str.match(/[a-z]/);
console.log(result);

        运行结果:

        计算机比较懒,只找了第一个,我们需要告诉计算机,我们要所有的复合条件的内容,我们需要设置正则表达式进行全局匹配模式。 

        证明这件事情:

var str = "1a2b3c4d5e6f";
var result = str.match(/[a-z]/g);
console.log(result);

        运行结果:

        再设置忽略大小写:

var str = "1a2b3c4d5e6f";
var result = str.match(/[a-z]/gi);
console.log(result);

         运行结果:

        可以为一个正则表达式设置多个匹配模式且顺序无所谓。 

        这种情况返回的数据是一个数组。

4:replace

        可以将字符串中的指定内容替换为新的内容

        证明这件事情:

var str = "1a2b3c4d5e6f";
var result = str.replace(/[a-z]/gi,"@_@");
console.log(result);

        指的注意的是split这个方法不论是写不写g都会进行全局匹配 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/120939.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能网联汽车有哪些信息安全场景

目录 1.车内安全通信 2.车云安全通信 3.安全启动 4.车载应用程序保护 5.入侵检测防御与日志管理系统 在聊完车载信息安全需求之后,势必要去看看​应用场景有哪些。根据之前的开发经验简单聊一下我知道的,还有很多没有讲,比如说车云之间具…

【QT】 Qt自定义ui控件

在使用Qt的ui设计时,Qt为我们提供了标准的窗口控件,但是在很多复杂工程中,标准窗口控件并不能满足所有的需求,这时就需要我们自定义控件。我们自定义的类既可以作为独立的窗口显示,又可以作为一个控件显示。 我们要实现…

MySQL 8.0 Clone 备份恢复演练

文章目录 前言1. 恢复目标2. 环境说明3. 克隆数据4. 恢复全量数据5. 注册增量日志6. 应用增量日志 后记 前言 上一篇文章中,我们介绍了使用 Clone 插件进行备份,相关的恢复流程将在本篇文章介绍。 MySQL 8.0 Clone Plugin 详解 恢复增量数据的方法&…

同创永益与国泰君安证券签署全面战略合作协议

10月24日,“生态赋能 智绘未来”国泰君安2023年金融科技文化节主题论坛召开,同创永益董事长朱柯、副总裁朱晓岚受邀出席活动,并与国泰君安总裁王松、首席信息官俞枫共同签署战略合作协议。双方将围绕产业研究、技术创新、人才培养等多方面方面…

Microsoft Dynamics 365 CE 扩展定制 - 7. 安全

在本章中,我们将介绍以下内容: 构建累积安全角色配置业务单元层次结构基于分层位置配置访问配置和分配字段级安全组建团队并共享设置访问团队对静止数据进行加密以满足FIPS 140-2标准管理Dynamics 365在线SQLTDE加密密钥简介 Dynamics 365是一个强大的平台,具有超过10年的良…

02-PostgreSQL的基本使用

一、数据库操作 ①: 登录到数据库 psql -U postgres -d postgres -h 127.0.0.1②:查看所有数据库 \l③: 创建数据库 # 创建一个名为 mydb 的数据库 create database mydb;④:切换数据库 # \c 数据库名 \c mydb⑤:删除数据库 # 删除前 先确保数据库没有被连接 drop databa…

黑色星期五推广策略:TikTok海外网红营销加速品牌增长

在数字化时代,TikTok已经成为了一个具有巨大潜力的社交媒体平台,它不仅让用户分享短视频,还为品牌提供了一个独特的宣传渠道。尤其是在黑色星期五这个全球购物盛宴的时刻,品牌有机会通过TikTok网红营销来提升销售额。本文Nox聚星将…

Linux学习笔记--高级

Shell概述 1,shell概述 是一个c语言编写的脚本语言,是linux和用户的桥梁,用户输入命令交给shell处理。shell,将相应的操作传递给内核(kernel),内核把处理的结果输出给用户 1.1Shell解释器有哪…

CSS 下拉菜单、提示工具、图片廊、计数器

一、CSS 下拉菜单&#xff1a; CSS下拉菜单用于创建一个鼠标移动上去后显示下拉菜单的效果。示例&#xff1a; <style> .dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #f9f…

shopee、亚马逊卖家如何安全给自己店铺测评?稳定测评环境是关键

大家都知道通过测评可以提升产品的转化率&#xff0c;提升产品的销量&#xff0c;那么做跨境平台的卖家如何安全的给自己店铺测评呢&#xff1f; 无论是亚马逊、拼多多Temu、shopee、Lazada、wish、速卖通、敦煌网、Wayfair、雅虎、eBay、Newegg、乐天、美客多、阿里国际、沃尔…

研发管理用什么软件?

研发管理用什么软件 研发管理用的软件有&#xff1a;1、JIRA&#xff1b;2、Confluence&#xff1b;3、彩虹PDM软件。彩虹PDM软件 是由南宁市二零二五科技有限公司 自主研发&#xff0c;为用户提供“产品全生命周期管理解决方案”。产品结构管理、BOD管理、零部件管理、工艺管理…

时间序列预测:深度学习、机器学习、融合模型、创新模型实战案例(附代码+数据集+原理介绍)

本文介绍->给大家推荐一下我的时间序列预测专栏&#xff0c;本专栏平均质量分98分&#xff0c;而且本专栏目前免费阅读&#xff0c;其中涉及机器学习、深度学习、融合模型、个人创新模型、数据分析等一系列有关时间序列的专栏&#xff0c;其中的实战的案例不仅有简单的模型类…

宝塔部署QQ机器人,提示OpenSSL 1.0.2k-fips 26 Jan 2017

1、报错预览 Traceback (most recent call last):File "/www/wwwroot/python/bot-one/main.py", line 5, in <module>import requestsFile "/www/wwwroot/python/bot-one/343ae0eb0d491a10a1a00c0621b03ed0_venv/lib/python3.9/site-packages/requests/_…

BP神经网络的数据分类——语音特征信号分类

大家好&#xff0c;我是带我去滑雪&#xff01; BP神经网络&#xff0c;也称为反向传播神经网络&#xff0c;是一种常用于分类和回归任务的人工神经网络&#xff08;ANN&#xff09;类型。它是一种前馈神经网络&#xff0c;通常包括输入层、一个或多个隐藏层和输出层。BP神经网…

VSCode设置中文语言界面(VScode设置其他语言界面)

一、下载中文插件 二、修改配置 1、使用快捷键 CtrlShiftP 显示出搜索框 2、然后输入 configure display language 3、点击 (中文简体) 需要修改的语言配置 三、重启 四、可能出现的问题 1、如果configure display language已经是中文配置&#xff0c;界面仍是英文 解决&a…

C盘清理指南(四)——垃圾清理工具

往期目录集合&#xff1a; C盘清理指南&#xff08;一&#xff09; 内存小的本质原因https://blog.csdn.net/jsl123x/article/details/134273657?spm1001.2014.3001.5501C盘清理指南&#xff08;二&#xff09;——盘符划分操作https://blog.csdn.net/jsl123x/article/detail…

快速了解什么是跳跃表(skip list)

什么是跳跃表&#xff08;skip list&#xff09; 跳跃表&#xff08;Skip List&#xff09;是一种概率性的数据结构&#xff0c;它通过在多层链表的基础上添加“快速通道”来提高搜索效率。跳跃表的效率可以与平衡树相媲美&#xff0c;即在平均和最坏的情况下&#xff0c;查找…

Xcode15更新内容

参考博客&#xff1a; 【WWDC 2023】Xcode 15 更新内容 文章目录 1. xcode15起&#xff0c;项目内创建的图片可以使用点语法访问2.2. UIKit项目也可以使用预览功能3. Xcode新增标签功能4.Log分类 1. xcode15起&#xff0c;项目内创建的图片可以使用点语法访问 2.2. UIKit项目也…

Linux C语言(8)

1、指针 1.1 概念 指针就是地址指针是一种数据类型&#xff0c;是一种保存地址的数据类型int是一种数据类型&#xff0c;是一种保存整数的数据类型 1 2 3 4float是一种数据类型&#xff0c;是一种保存浮点数的数据类型 3.14 1.2 什么是地址 内存分配的最小单位是字节&#xf…

【Leetcode】【数据结构】【C语言】判断两个链表是否相交并返回交点地址

struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode *tailAheadA;struct ListNode *tailBheadB;int count10;int count20;//分别找尾节点&#xff0c;并顺便统计节点数量&#xff1a;while(tailA){tailAtailA->next;c…