JavaScript从入门到精通系列第三十三篇:详解正则表达式语法(二)

news2024/11/17 16:47:28

文章目录

一:正则表达式

1: 检查一个字符串中是否有.

2:第二种关键表达

3:第三种关键表达

​编辑4:第四种关键表达

5:第五种关键表达

6:第六种关键表达

二:核心表达二

1:自动去除字符串空格

2:如何不去掉字符串中间的空格 


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

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

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

一:正则表达式

1: 检查一个字符串中是否有.

        编写代码:

var reg = /./
console.log(reg.test("abcdef"));

        运行结果:

        这个结果显然是错误的。 这个点表示任意字符,除了换行和结束符。那么这个点怎么才能表示他自己呢?使用转义字符即可,在正则表达式当中使用\表示转移字符。

        例如:\.表示. 而\\表示\

        证明这件事情:

var reg = /\./
console.log(reg.test("abcd.ef"));

        执行结果:

var reg = /\\/
console.log(reg.test("b.\"));

         执行结果:

        在字符串当中表示\也得写两个。

        证明这件事情:

var reg = /\\/
console.log(reg.test("b.\\"));

         执行结果:

        值得注意的是,虽然我们写连个斜杠,但是打印只有一个:

        证明这件事情:

console.log("b.\\");

        执行结果:

        如果使用构造函数创建正则表达式:

var reg = new RegExp("\.");
console.log(reg.test("b."));

        运行结果:

         这显然不对,构造函数这种方式,传入的是一个字符串。字符串当中\代表转义。如果向使用一个\的话,需要使用两个\\

        证明这件事情:

var reg = new RegExp("\\.");
console.log(reg.test("b."));

        执行结果:

        如果字面量里边需要使用两个的话,构造函数这种方式就需要四个\ 

2:第二种关键表达

        \w表示任意字母数字和下划线

        证明这件事情:

var reg = new RegExp("\\w");
console.log(reg.test("b."));

        运行结果:

3:第三种关键表达

        除了任意字母、数字、下划线

        证明这件事情:

​var reg = /\W/
console.log(reg.test("b.12$"));

4:第四种关键表达

        \d代表任意的数字0-9,\D除了0-9

5:第五种关键表达

        \s代表任空格,\S除了空格

6:第六种关键表达

        \b代表任单词边界,\B除了任意单词边界。什么是单词边界呢?

        创建一个正则表达式查看是否包含一个单词child。children都不行

var reg = /\bchild\b/
console.log(reg.test("i hava three children"));

        执行结果:

二:核心表达二

1:自动去除字符串空格

        使用replace即可

        证明这件事情:

var str = "          admin               ";
console.log(str);
str = str.replace(/\s/g,"");
console.log(str);

        运行结果:

2:如何不去掉字符串中间的空格 

         开头的,多个,空格

var str = "          admin               ";
str = str.replace(/^\s*/g,"");
console.log(str);

        执行结果: 

        结尾的,多个,空格 

var str = "          admin               ";
str = str.replace(/\s*$/g,"");
console.log(str);

       运行结果:

        怎么给他俩整合一下?

var str = "          ad       min               ";
str = str.replace(/^\s*|\s*$/g,"");
console.log(str);

        运行结果: 

         *表示0个或者多个,+表示一个或者多个。

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

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

相关文章

拓扑排序软件设计——ToplogicalSort_app(含有源码、需求分析、可行性分析、概要设计、用户使用手册)

拓扑排序软件设计 前言1. 需求分析2. 可行性分析2.1 简介2.2 技术可行性分析2.2.1 技术实现方案2.2.2 开发人员技能要求2.2.3 可行性 2.3 操作可行性分析2.4 结论 3. 项目报告3.1 修订历史记录3.2 软硬件环境3.3 需求分析3.4 详细设计3.4.1 类设计3.4.2 核心流程描述3.4.3 核心…

水果音乐编曲软件 FL Studio v21.1.1.3750 中文免费破解版下载(附中文设置教程)

FL studio21中文别名水果编曲软件,是一款全能的音乐制作软件,包括编曲、录音、剪辑和混音等诸多功能,让你的电脑编程一个全能的录音室,它为您提供了一个集成的开发环境,使用起来非常简单有效,您的工作会变得…

内网安全-基础设施构建-cobaltstrike远控工具beacon使用

kali在CS文件目录下,打开终端,运行命令: /teamserver 192.168.77.128 123456 在windows中双击bat文件: 填写图下信息: 双击运行,CS上线 自查方法:1、kali与物理机可互通 2、物理机与windows10跳板…

黑客技术-小白学习手册

一、黑客是什么 原是指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。但后来,黑客一词已被用于泛指那些专门利用电脑网络搞破坏或者恶作剧的家伙。 二、学习黑客技术的原因 其实,网络信息空间安全已经成为海陆空之…

告别龟速,从GitHub快速下载项目的技巧分享,简单又高效!

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推荐--…

【mysql】将逗号分割的字段内容转换为多行并group by

先说需求: 公司想让我通过mysql导出一个报表,内容为公司每个人参加会议的次数,现在有一个会议表fusion_meeting,正常的逻辑是通过人员直接group by就可以得出结果,但是我们的参会人是通过逗号分割这种方式存在一个字段…

Linux的命令——关于操作用户及用户组的命令

目录 1.Linux的命令格式 2.用户与用户组管理 2.1用户管理 添加用户 设置用户密码 删除用户 修改用户 2.2用户组管理 新增用户组 删除用户组 修改用户组属性 用户组切换 用户组管理 用户切换 1. su 2.sudo 1.Linux的命令格式 Linux系统中几乎所有操作&#xff0…

【Unity细节】Unity中如何让组件失活而不是物体失活

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…

基于springboot实现协同过滤算法商品推荐系统项目【项目源码】计算机毕业设计

基于springboot实现协同过滤算法商品推荐系统演示 Java语言简介 Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备…

使用MybatisPlus时出现的java.lang.NullPointerException异常~

错误描述如下所示: 错误原因:Junit的导包错误 单元测试的包有如下所示两个 我们应该根据springboot的版本进行选择, 在Spring Boot 2.2.X以后使用import org.junit.jupiter.api.Test Junit5 在Spring Boot 2.2.x之前使用import org.junit.T…

U盘不可以访问的维护

u盘打不开,可按下图,设置:winR→gpedit.msc;配置“管理模板”→“系统”→“可移动存储访问”→“所有可移动存储类”。 然后,选择“未配置”,如下图

【Linux网络】系统调优之时间同步,搭建内网时间同步服务器

目录 一、时间同步是什么 二、时间同步实验 pc1的chrony配置修改: pc2和pc3时间同步配置一样 关于时间调整再同步回来:ntpdate命令 最后,再总结一下(关于服务端口): 三、命令记录 一、时间同步是什…

大数据治理——为业务提供持续的、可度量的价值(一)

目录 大数据治理——为业务提供持续的、可度量的价值... 1 概述... 2 大数据治理系列... 2 第一部分:大数据治理统一流程模型概述和明确元数据管理策略... 2 第二部分:元数据集成体系结构... 15 第三部分:实施元数据管理... 25 第四部…

复杂度计算实例

1.常见时间复杂度计算举例 实例1 实例1基本操作执行了2N10次,通过推导大O阶方法知道,时间复杂度为 O(N) 实例2 实例2基本操作执行了MN次,有两个未知数M和N,时间复杂度为 O(NM) 实例3 实例3基本操作执行了100次,通过…

技术架构-单机架构

前言 从今天开始系统学习 Docker 课程,总结下 Docker 是什么,用来做什么,架构是怎样的。 注:(1)当浏览器 / APP访问服务器时,如果服务器适用的时 http 协议,那么默认端口时80&#…

LeetCode【33】搜索旋转排序数组

题目&#xff1a; 思路&#xff1a; https://www.cnblogs.com/CherryTab/p/12196580.html 代码&#xff1a; class Solution {int [] nums;int target;public int find_rotate_index(int left, int right) {if (nums[left] < nums[right])return 0;while (left < righ…

C语言实现写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度

完整代码&#xff1a; // 写一个函数&#xff0c;求一个字符串的长度&#xff0c;在main函数中输入字符串&#xff0c;并输出其长度 #include<stdio.h> //字符串最大长度 #define N 100 int strlen(char *str){int i0;//字符串结尾为‘\0’while (*str!\0){i;//指针移动…

drawio连接线使用技巧和功能大全

drawio连接线使用技巧和功能大全 drawio是一款强大的图表绘制软件&#xff0c;支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用&#xff0c;则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能&#xff0c;并实现了…

[游戏中的图形学实时渲染技术] Part1 实时阴影技术

原理篇&#xff1a; 常见的渲染方程如下&#xff1a; 在不考虑自发光项与考虑阴影对于着色结果的影响之后可以将方程变化为如下形式&#xff1a; 如果射线在到达光源前击中了其他物体时&#xff0c;就认为这条来自光源的光线对着色点没有贡献。 利用上述渲染方程进行正确的着…

基于springboot的教学在线作业管理系统(源码+调试)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…