正则表达式练习

(function() {//#region   定义正则表达式// const reg = /前端/g;// ------------test-------------// const res = reg.test("学java,找黑马");// console.log(res)// ------------exec--------------// const res = reg.exec("学好前端,找黑马");// console.log(res);// ------------replace--------------// const str = "学前端,找黑马";// const res = str.replace(reg, "java");// console.log(res);// ------------match--------------// const str = "学前端,找黑马,前端就业前景好";// const res = str.match(reg);// console.log(res);//#endregion//#region 元字符// *:表示0次或多次// const reg = /^a*$/;// console.log(reg.test("a"))// console.log(reg.test(""))// console.log(reg.test("aaaaaa"))// console.log(reg.test("abbbb "))// +:表示1次或多次// const reg = /^a+$/;// console.log(reg.test("a"))// console.log(reg.test(""))// console.log(reg.test("aaaaaa"))// console.log(reg.test("abbbb "))// ?:表示0次或1次// const reg = /^a?$/;// console.log(reg.test("a"))// console.log(reg.test(""))// console.log(reg.test("aaaaaa"))// console.log(reg.test("abbbb "))// {n}:表示只有n次// const reg = /^a{3}$/;// console.log(reg.test("aaa"))// console.log(reg.test(""))// console.log(reg.test("aaaaaa"))// console.log(reg.test("abbbb "))// {n,}:表示大于等于n次// const reg = /^a{3,}$/;// console.log(reg.test("aaa"))// console.log(reg.test(""))// console.log(reg.test("aaaaaa"))// console.log(reg.test("abbbb "))// {n,m}:n-m次// const reg = /^a{3,5}$/;// console.log(reg.test("aaa"))// console.log(reg.test(""))// console.log(reg.test("aaaaaa"))// console.log(reg.test("aaaa"))//#endregion//#region 元字符-字符类//[]// const reg = /[abc]/; //匹配abc中的任意一个// const res = reg.test('abc'); //true// console.log(res)// ^取反// const reg = /[^0-9]/;// console.log(reg.test("aaa"));// console.log(reg.test("111"));// console.log(reg.test("aa34a"));//#endregion// \d 数字等价[0-9]/**\d 一位数字*\d{2} 2位数字\d{2,4} 2-4位数字\d{2,} 大于两位的数字\d+ 等价于\d{1,}\d* 等价于\d{0,}\d? 等价于\d{0,1}*/// const reg1 = /^\d{2,}$/// console.log(reg1.test('1'))// 校验手机号/座机号// const reg = /^1\d{10}$/;// console.log(reg.test('18386223456'))// 邮箱验证/**[0-9a-z_] 可以是0-9的数字,也可以是a-z的字母,也可以是_,-代表区间[ABCD1234.] 可以是ABCD1234.其中的任意一项,在中括号中。就是.的意思[^.]当^出现在中括号里的时候,表示取反,这句的意思是 除了。以外的**/// const reg1 = /^[0-9a-z_]{2,20}@[a-z0-9]{1,10}[.a-z0-9]+[^.]+$/i// console.log(reg1.test('245094530@163.com.cn'))// 正则当中的简写语法/**\s 空白符包括换行\S 非空白,与上面相反\n 换行\w[a-zA-Z0-9_]\W [^a-zA-Z0-9_]任意字符(除了\n\r)*/// 身份证号验证// const reg1 = /^(\d{15}|\d{17}[0-9X]{1})$/i// console.log(reg1.test('32099919900101321X'))// 数字转千分位// const money = 99999999// console.log(money.toLocaleString())// 校验名字必须位中文// const reg1 = /^[\u4e00-\u9fa5]{2,5}$/// console.log(reg1.test("中文345454"))// 字符串模板// const text = '{name}说,今天天气{desc}'// const obj = {//     name: '张三',//     desc: '真好'// }// console.log(text.replace(/\{(.*?)\}/g, (result, group1) => {//     return obj[group1]// }))//去掉多余的空格// const text = '  你  好  ';// console.log('---' + text.replace(/\s/g, '') + '---')// 数据格式化const text = `xxxx;张三:15555555555,2222zddd333;xxxx;xxxx;李四:13333333333,2222zddd333;xxxx`const arr = []text.replace(/;([\u4e00-\u9fa5]+):(1\d{10}),([0-9a-z]+);/g, (result, group1, group2, group3) => {console.log(group1)arr.push({name: group1,phone: group2,orderId: group3})})console.log(arr)})()

在这里插入图片描述

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

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

相关文章

Flutter 状态管理引子

1、为了更好地了解状态管理,先看看什么是状态。 在类似Flutter这样的响应式编程框架中,我们可以认为U相关的开发就是对数据进行封装,将之转换为具体的U1布局或者组件。借用Flutter官网的一张图,可以把我们在第二部分做的所有开发…

高频面试题:如何分别用三种姿势实现三个线程交替打印0到100

最近面试遇到的一道题,需要三个线程交替打印0-100,当时对多线程并不是很熟悉因此没怎么写出来,网上搜了之后得到现 synchronized wait/notifyAll 实现思路:判断当前打印数字和线程数的取余,不等于当前线程则处于等待…

数据结构 day6

1->xmind 2->递归实现程序:输入一个数,输出该数的每一位

取一个整数各偶数位上的数构成一个新的数字

1 题目 我可太难了,这题我的思路有点复杂,遇到的困难很多,总是值传递搞不清楚,地址传递总是写错。 从低位开始取出一个整数s的各奇数位上的数,剩下的偶数位的数依次构成一个新数t。 例如: 输入s&#xff…

软件架构模式+系统架构

架构模式对比 分层模式 一般信息系统中最常见的4层划分如下: Presentation layer 表示层(也就是UI层)Application layer 应用层(也就是服务层)Business logic layer 业务逻辑层(也就是领域层)…

【C++历险记】面向对象|菱形继承及菱形虚拟继承

个人主页:兜里有颗棉花糖💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【C之路】💌 本专栏旨在记录C的学习路线,望对大家有所帮助🙇‍ 希望我们一起努力、成长&…

Python 没有 pip 包问题解决

最近需要搞一个干净的Python,从官网上直接下载解压可用的绿色版,发现无法正常使用PiP 一 官网下载Python https://www.python.org/downloads/ 选择 embeddable package,这种是免安装的包,解压后可以直接使用。 二 配置环境变量 添加环境变量&#xff1a…

【Python数据分析】数据分析之numpy基础

实验环境:建立在Python3的基础之上 numpy提供了一种数据类型,提供了数据分析的运算基础,安装方式 pip install numpy导入numpy到python项目 import numpy as np本文以案例的方式展示numpy的基本语法,没有介绍语法的细枝末节&am…

【混合时变参数系统参数估计算法】使用范数总和正则化和期望最大化的混合时变参数系统参数估计算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

MATLAB中circshift函数转化为C语言

背景 有项目算法使用matlab中circshift函数进行运算,这里需要将转化为C语言,从而模拟算法运行,将算法移植到qt。 MATLAB中circshift简单介绍 circshift是循环移位函数。可以使用于数组和矩阵元素的循环移位。 当A是数组 Bcircshift(A,p);如果…

安全学习DAY20_自动化工具项目武器库介绍

信息打点-自动化工具 文章目录 信息打点-自动化工具本节思维导图&概述 各类红蓝队优秀工具项目集合:All-Defense-Tool 自动化-武器库部署F8x 自动化信息搜集-网络空间AsamF 自动化信息搜集-企查信息ENScan 自动化信息搜集-综合架构-ARL&NemoARL灯塔Nemo_Go …

知识图谱实战应用26-基于知识图谱构建《本草纲目》的中药查询与推荐项目应用

大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用26-基于知识图谱构建《本草纲目》的中药查询与推荐项目应用,本文通过Py2neo连接到知识图谱数据库,系统实现了中药的快速查询、关系分析、智能推荐和知识展示等功能。用户可以输入中药的名称或特征进行查询,系统将从知…

归并排序的详解!

本文旨在讲解归并排序的实现(递归及非递归)搬好小板凳,干货来了! 前序: 在介绍归并排序之前,需要给大家介绍的是什么是归并,归并操作,也叫归并算法,指的是将两个顺序序列…

阿里云对象存储oss-文件上传过程详解(两种方式)

阿里云对象存储oss-文件上传过程详解{两种方式} 方式一(最新代码,时间:2023/8/27)(1)如何配置系统变量(2)完整代码 方式二(跟黑马最新教程同代码)(1)在复制下来的代码中(2)完整代码 方式一(最新代码,时间:2023/8/27) 问题:需要配置系统变量才能够使用 (1)如何配置系统变量 以wi…

解决 .csv 文件上传到 pgsql 的字符报错问题

目录 背景问题解决办法 背景 上传 .csv 文件进行数据导入到 pg 时,报错显示如下: ods.tbl_inp_fee_detail.csv数据上传失败 报错信息:org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00 Where: C…

MariaDB数据库服务器

目录 一、什么是数据库? 二、什么是关系型数据库? 三、数据库字符集和排序规则是什么? 四、常用数据类型 五、Mariadb数据库相关配置案例 一、什么是数据库? 数据库(DB)是以一定方式长期存储在计算机硬盘内…

[C++] STL_list常用接口的模拟实现

文章目录 1、list的介绍与使用1.1 list的介绍1.2 list的使用 2、list迭代器3、list的构造4、list常用接口的实现4.1 list capacity4.2 插入删除、交换、清理4.2.1 insert任意位置插入4.2.2 push_front头插4.2.3 push_back尾插4.2.4 erase任意位置删除4.2.5 pop_front头删4.2.6 …

2023年“羊城杯”网络安全大赛 Web方向题解wp 全

团队名称:ZhangSan 序号:11 不得不说今年本科组打的是真激烈,初出茅庐的小后生没见过这场面QAQ~ D0n’t pl4y g4m3!!! 简单记录一下,实际做题踩坑很多,尝试很多。 先扫了个目录,扫出start.sh 内容如下…

Compose学习 - 环境配置及compose、kotlin插件、gradle、AndroidStudio版本对应关系

最近学习Compose,一开始学习的Compose版本是1.1.1,学习的过程中发现, LazyHorizontalGrid这个方法只有在1.2.0以后版本才支持。 想着既然要升级,直接用最新的好了。后面按照官网建议,下载了最新的AndroidStudio&#…

初步了解ES

一、ES基础查询 1、es基础查询 1.1 准备数据 # 准备数据 PUT test_index/_doc/1 {"name":"顾老二","age":30,"from": "gu","desc": "皮肤黑、武器长、性格直","tags": ["黑", &…