正则表达式中的?=、?<=

2023-05-16

大家好,我是小梅,公众号:「小梅的前端之路」 原创作者。

作为在前端领域不断探索的一员,在此记录开发中遇到的问题,如果你也遇到了相同的问题,希望本文对你有帮助。


每次写看到这些正则表达式,都容易傻傻分不清,因此记录一下,加深记忆。

1、?= 正向肯定预查

举例:匹配'2020'或'2021'字符串并且'2020'或'2021'字符串后面的字符是'abc'

let reg = /202[0-1](?=abc)/g;
let str = '2020abc, 2021ddd';
let res = str.match(reg); // ['2020']

2、?! 正向否定预查

举例:匹配'2020'或'2021'字符串并且'2020'或'2021'字符串后面的字符不是'abc'

let reg = /202[0-1](?!abc)/g;
let str = '2020abc, 2021ddd';
let res = str.match(reg); // ['2021']

3、?<= 反向肯定预查

举例:匹配'aa'或'ab'字符串并且'aa'或'ab'字符串前面的字符是'2020'

let reg = /(?<=2020)(a[a|b])/g;
let str = '2020aa, 2021ab';
let res = str.match(reg); // ['aa']

4、?<! 反向否定预查

举例:匹配'aa'或'ab'字符串并且'aa'或'ab'字符串前面的字符不是'2020'

let reg = /(?<!2020)(a[a|b])/g;
let str = '2020aa, 2021ab';
let res = str.match(reg); // ['ab']

注意:Safari不支持这些,如果要考虑浏览器兼容性的话,不要使用这些正则

❤️欢迎素质三连[点赞 + 收藏 + 评论]

我是小梅,有兴趣的话可以在微信搜一搜「小梅的前端之路」第一时间接收文章更新通知,一起沟通、学习成长呀。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式中的?=、?<= 的相关文章

随机推荐

  • docker命令删除容器和镜像

    1 查看所有正在运行容器 docker ps 2 停止容器 xff08 containerId是容器id xff09 docker stop containerId 3 删除容器 docker rm 容器id 4 查看镜像 docker i
  • 下拉多选框的实现

    这两天在写一个chrome插件 xff0c 需要在popup页使用下拉多选框 用select看起来非常原始 xff0c 多选还要按住ctrl键或者command键 html代码如下 xff1a span class token operat
  • 使用sed和awk分割部分文件内容

    目标 xff1a 文本的一部分内容 xff0c 需要进行比较 xff0c 其他的部分 xff0c 需要忽略掉 步骤 xff1a 1 cat 文件 xff1b 2 grep 起始 终止 字符串 xff1b 3 获取行数 xff1b 通过sed
  • docker安装、启动、卸载nginx,并配置修改nginx的配置文件

    一 第一种方式 1 使用docker 下载nginx 镜像 docker pull nginx 2 启动nginx docker run span class token operator span name nginx span clas
  • 更新docker镜像及容器,使用docker-compose命令

    第一种方法 xff1a docker stop 容器名或镜像id 下面一样 docker rm 容器名 docker rmi 镜像名 docker builder 镜像名 docker run d name 容器名 p 对外端口 内部端口
  • docker/overlay2磁盘占满——Linux定时清理docker日志脚本

    一 查看占用磁盘文件 df span class token operator span h 然后进入占用大的文件目录执行 du span class token operator span span class token operato
  • java3-5年面试题——数据库篇

    1 limit关键字从0到10与从100000到200000效率相差几个数量级 xff0c 为什么 xff1f 从100000到200000 这种分页查询方式会从数据库第一条记录开始扫描 xff0c 所以越往后 xff0c 查询速度越慢 x
  • java3-5年面试题——高级篇

    关于linux操作 xff1a 1 常用的文件操作命令 1 ls命令 xff1a 查看当前目录中的文件信息 ls span class token operator span a 查看所有文件列表 xff08 可查看隐藏文件 xff09 l
  • mysql行列转换

    一 行转列 建表语句 xff1a span class token keyword DROP span span class token keyword TABLE span span class token keyword IF span
  • Object Detection Api安装经测试后,出现“AlreadyExistsError: Another metric with the same name already exists.”

    在安装Object Detection Api后 xff0c 经过如下一行代码测试 xff1a span class token keyword from span object detection span class token pun
  • windows系统安装curl

    1 curl是什么 curl 是一种命令行工具 xff0c 作用是发出网络请求 xff0c 然后获取数据 xff0c 显示在 34 标准输出 34 xff08 stdout xff09 上面 安装教程 x1f447 xff1a 1 官网下载
  • 文件系统与LVM(mksf、mkswap、swapon、挂载、磁盘、UUID号)

    目录 mksfmkswapswapon挂载查看磁盘使用情况查看分区UUID号管理LVM逻辑卷 mksf 作用 创建文件系统 格式化 t 指定格式化文件类型 b 指定block大小 U 设置UUID号 mksf ext4 磁盘路径 格式化 m
  • 【踩坑记录】Slam-Gmapping建图失败--已解决

    目录 场景 仿真小车在Gazebo上进行Gmapping 步骤 xff1a 问题 xff1a 填坑过程 知识储备 解决办法 修改尝试 0 结论 0 odom由一个发布者发布 修改尝试 1 结论 1 odom信息由模型中的URDF决定 修改尝
  • 【踩坑记录】Gazebo启动慢,画面卡“Preparing your world”

    项目场景 xff1a ros kinetic 问题描述 xff1a 启动gazebo慢 xff0c 卡顿 xff0c 一直停留在Preparing your world的界面上 原因分析 xff1a gazebo在启动时需要将模型仿真出来
  • 【踩坑笔记】Linux系统无法启动,拷贝备份文件

    问题描述 xff1a Linux系统中安装输入法后 xff0c 重启后 xff0c 导致系统无法进入 xff0c 进入 recovery mode下的resume 也启动不了 xff0c 所以决定将需要的东西复制到U盘 解决方案 xff1a
  • FreeRTOS-任务基础知识

    xff08 一 xff09 多任务系统 1 单任务系统 在使用C51系列 STM32等单片机进行裸机编程时 xff0c 大都在main函数中写一个while或者for死循环函数 xff0c 用来无限轮询任务函数 很多时候会加入硬件中断来完成
  • 飞行控制全数字仿真

    在simulink中搭建飞行控制系统 基础工具是Aerospace Blockset模块 xff0c 该模块是集成的航天航空工具箱 xff0c 这个工具箱包含了在航空航天领域常用的需要模块 xff0c 共12个模块组 全数字仿真系统共由9大
  • VINS-FUSION代码解读【1】——程序入口

    VINS FUSION代码解读 1 程序入口 本人基础不太扎实所以会把代码注释的比较详细 xff0c 也会适当添加对应知识点的解读 vins fusion不像mono那样有三个node xff0c 它只有一个node xff0c 在rosN
  • Ubuntu18.04安装realsense包

    添加Keys span class token function sudo span apt key adv keyserver hkp keyserver ubuntu com 80 recv key C8B3A55A6F3EFCDE 添
  • 正则表达式中的?=、?<=

    大家好 xff0c 我是小梅 xff0c 公众号 xff1a 小梅的前端之路 原创作者 作为在前端领域不断探索的一员 xff0c 在此记录开发中遇到的问题 xff0c 如果你也遇到了相同的问题 xff0c 希望本文对你有帮助 每次写看到这些