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

news/2024/7/19 14:46:15 标签: javascript, 开发语言, ecmascript, js, 正则表达式

文章目录

一:正则表达式

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

2:第二种关键表达

3:第三种关键表达

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

5:第五种关键表达

6:第六种关键表达

二:核心表达二

1:自动去除字符串空格

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


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

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

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

一:正则表达式

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

        编写代码:

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

        运行结果:

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

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

        证明这件事情:

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

        执行结果:

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

         执行结果:

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

        证明这件事情:

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

         执行结果:

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

        证明这件事情:

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

        执行结果:

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

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

        运行结果:

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

        证明这件事情:

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

        执行结果:

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

2:第二种关键表达

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

        证明这件事情:

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

        运行结果:

3:第三种关键表达

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

        证明这件事情:

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

4:第四种关键表达

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

5:第五种关键表达

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

6:第六种关键表达

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

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

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

        执行结果:

二:核心表达二

1:自动去除字符串空格

        使用replace即可

        证明这件事情:

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

        运行结果:

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

         开头的,多个,空格

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

        执行结果: 

        结尾的,多个,空格 

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

       运行结果:

        怎么给他俩整合一下?

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

        运行结果: 

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


http://www.niftyadmin.cn/n/5171314.html

相关文章

即时聊天小程序开发流程

【内容】 一、需求分析 在进行即时聊天小程序的开发之前,首先需要进行详细的需求分析。这一步需要了解用户需求,明确小程序的定位和目标用户,确定功能需求,如实时语音、视频聊天、文件传输、群聊等。同时,需要分析市场…

从零开始开发抖音小程序:与餐饮团购的完美融合

本文将探讨如何从零开始开发一个创新的抖音小程序,以其独特的特性与餐饮团购进行完美融合。 一、什么是抖音小程序? 抖音小程序为开发者提供了在用户观看视频时进行无缝体验的机会。通过借助抖音的庞大用户基础,开发者可以将自己的创意呈现给…

linux入门---信号量

目录标题 为什么会有信号量信号量的概念信号量的接口和操作什么是环形队列单消费者生产者环形队列的模拟实现准备工作构造函数和析构函数push函数的模拟实现pop函数的模拟实现RingQueue完整代码测试代码 多生产多消费的环形队列 为什么会有信号量 在上一篇文章当中我们写过这么…

Vue.js 学习总结(3)—— vite 打包图片时报错 Rollup failed to resolve import...

问题 图片依赖: Vite 打包前端项目时图片无法引入,报如下错误: ERROR [vite]: Rollup failed to resolve import "%7BlibeiDanmuKongmu%7D" from "D:/java/workspace/jeecgboot-vue3/src/views/funeral/tombInfo/area.vue?…

前端通过导入editor.md库实现markdown功能

小王学习录 今日摘录前言jquery下载editor下载editor和jquery的导入初始化editor总结 今日摘录 满招损,谦受益 前言 要想通过editor.md实现markdown的功能,需要经过如下四步: 下载editor.md到本地将本地editor导入到前端代码中编写少量代…

cmd打开idea

当我们用idea打开一个项目的时候,有时候这个项目目录是有的,但是用idea的open却找不到,有时候我要重新关闭窗口,再open好多次才有 于是我现在使用命令打开,先把idea安装路径的bin目录放在path里面 然后cd到项目路径&…

C语言控制台程序按键控制

获取按键键值,实现光标控制,简单的推箱子游戏,以及计时处理。 // PushBox.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "stdio.h" #include "conio.h" #include "time.h"…

【LeetCode】挑战100天 Day10(热题+面试经典150题)

【LeetCode】挑战100天 Day10(热题面试经典150题) 一、LeetCode介绍二、LeetCode 热题 HOT 100-122.1 题目2.2 题解 三、面试经典 150 题-123.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站,提供各种算法和数据结构的题目&…