正则表达式——^的两种用法

用法一: 限定开头

文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。 比如 /^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A

用法二:(否)取反

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

比如: /[^a-z\s]/会匹配"my 3 sisters"中的"3" 这里的"^"的意思是字符类的否定,上面的正则表达式的意思是匹配不是(a到z和空白字符)的字符。

总结:何时"^"是否定字符,何时匹配开始行

(1)表示限定开头的示例:

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

(^cat)$

(^cat$)

^(cat)$

^(cat$)

(2)表示否定的示例:

\^a\]表示"匹配除了a的任意字符"。 \[\^a-zA-Z0-9\]表示"找到一个非字母也非数字的字符"。 \[\\\^abc\]表示"找到一个插入符或者a或者b或者c"。 **经过对比,只要是"\^"这个字符是在中括号"\[\]"中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。我这里说的是直接在"\[\]"中使用,不包括嵌套使用。 其实也就是说"\[\]"代表的是一个字符集,"\^"只有在字符集中才是反向字符集的意思。**

相关推荐
千码君20163 分钟前
什么是数据链路层的CRC检测以及为什么要放到帧尾?
服务器·网络·网络协议·以太网·奇偶校验·crc检测·以太网帧
Qiuner9 分钟前
软件设计师速通其一:计算机内部数据表示
服务器·数据库·信号处理
LaughingZhu22 分钟前
PH热榜 | 2025-04-24
运维·经验分享·搜索引擎·产品运营·jenkins
刘某的Cloud31 分钟前
openstack迁移虚机rbd报错,删除异常rbd
linux·运维·openstack·nova·rbd
啊吧怪不啊吧1 小时前
Linux权限概念讲解
linux·运维·服务器
文牧之1 小时前
PostgreSQL oracle_fdw 扩展解析
运维·数据库·postgresql
努力努力再努力wz1 小时前
【Linux实践系列】:进程间通信:万字详解命名管道实现通信
android·linux·运维·服务器·c++·c
Zfox_2 小时前
【Shell 脚本入门】轻松上手的实战指南
linux·服务器·运维开发·shell脚本
高效匠人2 小时前
Python中的Walrus运算符分析
java·服务器·python
遇到我又惊又喜2 小时前
DELL R740服务器闪黄灯不开机故障案例
运维·服务器