正则表达式中的“^“这个符号的一些思考

2023-11-15

在学习正则表达式的时候,一些常见的规则我们都不难理解,但是有 一个正则表达式中的特殊字符让我一直有点搞不懂,就是"^"这个字符,文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。比如

/^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A

然后他还有第二种用法就是

当这个字符出现在一个字符集合模式的第一个字符时,他将会有不同的含义。

比如

/[^a-z\s]/会匹配"my 3 sisters"中的"3"

这里的"^“的意思是字符类的否定,上面的正则表达式的意思是匹配不是(a到z和空白字符)的字符。
以前总是搞不懂,什么时候”^"是否定字符,什么时候是匹配开始行,然后就查资料进行对比,终于发现了规律。

/[(^\s+)(\s+$)]/g
(^cat)$
(^cat$)
^(cat)$
^(cat$)

上面这个正则表达式中"^"就是限定开头的意思

这些正则表达式中"^"表示的就是表示字符类的否定。

[^a]表示“匹配除了a的任意字符”。
[^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。
[\^abc]表示“找到一个插入符或者a或者b或者c”。
[^\^]表示“找到除了插入符外的任意字符”。(呕!)

经过对比,我发现了只要是"^“这个字符是在中括号”[]“中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。我这里说的是直接在”[]“中使用,不包括嵌套使用。
其实也就是说”[]“代表的是一个字符集,”^"只有在字符集中才是反向字符集的意思。

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

正则表达式中的“^“这个符号的一些思考 的相关文章

  • Vue-局部组件

    局部组件 通过Vue实例创建的组件 只能在此Vue实例的作用范围内起作用 div div
  • 【软件测试的重要性】

    软件测试是软件质量保证的关键步骤 目的是发现错误以及避免这些错误的发生 验证软件是否满足用户的需求以及避免这些错误的发生 验证软件是否满足用户的需求并保证软件的质量 因此 我们必须知道什么是软件测试 软件测试的对象是什么 以及用什么方法测试
  • 百人对谈

    他从事 NET技术开发二十余年 连续18年荣获微软最有价值专家 MVP 他积极参与运营 NET技术社区 Dapr中文社区及开源项目 在社区被广大开发者们称为 张队 他不断刷新自我 技术领域拓展至云计算和人工智能 荣获5届华为云开发者专家 H
  • 用Tensorflow重现YOLO V4

    如果对Tensorflow实现最新的Yolo v7算法有兴趣的朋友 可以参见我最新发布的文章 Yolo v7的最简TensorFlow实现 gzroy的博客 CSDN博客 YOLO是一个非常出名的目标检测的模型 兼具精度和性能 在工业界的应

随机推荐

  • Virtual-Box Ubuntu 16.04 你应该这样来安装Chrome google 浏览器

    最近写一个项目需要用到ruby来进行开发 但是作为一个只能在windows pc 上来开发的程序员来说 固然需要在windows上做一堆的配置 已经把我搞的疯掉了 没钱买mac就只能VirtualBox上搭一个ubuntu来进行开发了 这里
  • Python多版本管理工具-pyenv相关总结

    由于需要进行MAC下多Python管理 看了很多相关文章 这是自己的理解的相关总结 包括最重要的pyenv 和 virtualenv anaconda有什么区别 文章目录 Python多版本管理工具 pyenv pyenv介绍 pyenv安
  • (2022)安卓和苹果应用注册上架概述

    目录 一 点击目录跳转对应文章 一 华为开发者申请及上架 二 小米开发者申请及上架 三 应用宝开发者申请及上架 四 OPPO开发者申请及上架 五 VIVO开发者申请及上架 六 苹果开发者申请及上架 开始前的准备工作 1 注册前先准备一个邮箱
  • 数据结构刷题:第十七天(基础)

    目录 一 杨辉三角 二 旋转图像 看题解 三 螺旋矩阵 一 杨辉三角 119 杨辉三角 II 力扣 LeetCode https leetcode cn problems pascals triangle ii plan data stru
  • python爬虫:抓取页面上的超链接

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库 它能够通过你喜欢的转换器实现惯用的文档导航 查找 修改文档的方式 Beautiful Soup会帮你节省数小时甚至数天的工作时间 页面上的超链接 在H
  • Tangram 2.0 VirtualView Demo 配置

    天猫开源了一个动态UI的方案 包含 https github com alibaba VirtualView iOS https github com alibaba tangram ios 简单来个Demo 1 常规创建工程 配置podf
  • nohup 后台启动程序,并输出到指定日志

    1 启动程序并输入到指定日志 nohup python manage py runserver 0 0 0 0 9090 gt data zyj xadstat xadstat log 2 gt 1 或者 nohup python mana
  • 企培版edusoho对接第三方云视频点播 最新版本代码披露 支持m3u8视频加密

    edusoho企培系列版本更新日志 新增功能和优化历史 倍数播放功能 视频分类 支持m3u8视频加密 plugins AliVideoPlugin DependencyInjection Configuration php
  • 零基础入门网络安全,收藏这篇不迷茫【2023 最新】

    零基础入门网络安全 收藏这篇不迷茫 2023 最新 前言 最近收到不少关注朋友的私信和留言 大多数都是零基础小友入门网络安全 需要相关资源学习 其实看过的铁粉都知道 之前的文里是有过推荐过的 新来的小友可能不太清楚 这里就系统地叙述一遍 0
  • Qt connect的实现原理

    概述 connect实质上是将对象A的信号和对象B的槽函数进行连接 然后返回一个句柄Connection 正文 下面通过源码来解析一下 注意看中文注释 connection表示信号槽连接句柄 QMetaObject Connection Q
  • 15. 从0开始学ARM-位置无关码

    目录 十九 位置无关码 一 为什么需要位置无关码 1 exynos 4412启动流程 二 怎么实现位置无关码 1 什么是 编译地址 什么是 运行地址 2 举例 3 代码 四 总结 1 位置无关码 2 位置相关码 3 位置无关码的应用 4 结
  • 动态实体类方案1.0(虚拟实体类生成器)[万能实体]

    该工具能实现任何实体类的动态生成传入参数名称自动生成get set方法 供反射调用 该方法生成的实体类是在程序运行过程动态生成加载出来的 实际代码文件并不存在 所以我暂定他为虚拟实体类生成工具 本方法我自己暂时用在mybatis中当统一的传
  • DETR源码学习(三)之损失函数与后处理

    在DETR模型中 在完成DETR模型的构建后 我们送入数据在完成前向传播后就需要使用预测值与真实值进行计算损失来进行反向传播进而更新梯度 在DETR模型中 其标签匹配采用的是匈牙利匹配算法 主要涉及models matcher py mod
  • 调用百度API实现人脸识别

    人脸识别 听着很高级 但实际上它确实很高级 不过对于我们开发人员来说 我们大部分人都是拿来主义 这次展示的是调用百度人脸识别API进行人脸信息分析 笔者试了下 发现还是挺准确的 而且代码量很少才8行 用的python 如果用java铁定不止
  • js拼接字符串与变量

    使用eval 方法可将拼接后的字符串与变量转变为变量 var field test 我是小白鼠一号 var field test 我是小白鼠二号 然后在JS里尝试将前面的语言简写当成变量 拼接后面的字符串 var lang field va
  • 含泪整理最优质Fbx 3d模型素材,你想要的这里都有

    今天小编针对Fbx 3d模型素材为大家整理了很多内容哦 肯定有需要的小伙伴吧 实用 免费 优质的素材谁又不心动呢 赶紧码住 接下来就给大家介绍一下我珍藏已久的网站 我的工作灵感都是来源它哦 里面的Fbx 3d模型资源数量多 种类丰富 并且每
  • Ubuntu16.04搭建Fabric1.4环境

    一 换源 为了提高下载速度 将ubuntu的源改成国内的源 推荐阿里云源和清华源 apt源保存在 etc apt sources list 代表根目录 etc 这个文件夹几乎放置了系统的所有配置文件 1 备份 sudo cp etc apt
  • shell基础+强化

    shell脚本 一 shell介绍 什么是shell shell功能 1 什么是shell shell是一个程序 采用C语言编写 是用户和Linux内核沟通的桥梁 它既是一种命令语言 又是一种解释性的编程语言 通过一个图标来查看以下设立了的
  • Codeforces 1469 F. Power Sockets —— 二分+线段树,贪心

    This way 题意 现在有一个根节点 和n条包含a i 个节点的链 一开始所有点的颜色是白色的 你每次可以做以下操作 找到树中某个白色节点 拿出一条链 将这个节点和链上某个节点连接 并且这两个点的颜色变成黑色 之后这条链属于树中一个部分
  • 正则表达式中的“^“这个符号的一些思考

    在学习正则表达式的时候 一些常见的规则我们都不难理解 但是有 一个正则表达式中的特殊字符让我一直有点搞不懂 就是 这个字符 文档上给出了解释是匹配输入的开始 如果多行标示被设置成了true 同时会匹配后面紧跟的字符 比如 A 会匹配 An