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

用法一: 限定开头

文档上给出了解释是匹配输入的开始,如果多行标示被设置成了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"。

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

相关推荐
wuyk55538 分钟前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
人工智能培训1 小时前
大语言模型:从语言理解到通用智能的跃迁
linux·服务器·前端·人工智能
东方护航数据恢复(深圳)1 小时前
本地小算力设备数据恢复经典案例实操全解_东方护航数据恢复深圳店
大数据·服务器·算法·ai·gpu算力
阿明61 小时前
Linux进程【Linux】
linux·运维·服务器
Android系统攻城狮2 小时前
Linux Gstreamer深度解析之gst_audio_resampler_update调用流程与实战(三十)
linux·运维·服务器·gstreamer音视频·音视频进阶
微信ipad协议开发2 小时前
微信视频号自动化:内容发布与互动的 API 实现
运维·微信
一木 之林3 小时前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器
Methy3 小时前
IoTHub半个月崩了五次?都是裸rethrow惹的祸
服务器·c++·后端
Wang's Blog3 小时前
Java 项目实战: 外卖平台-后台系统登录功能开发
java·服务器·redis
第十人i4 小时前
Linux 系统初始化配置清单:新服务器快速部署
linux·服务器