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

用法一: 限定开头

文档上给出了解释是匹配输入的开始,如果多行标示被设置成了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"。 **经过对比,只要是"\^"这个字符是在中括号"\[\]"中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。我这里说的是直接在"\[\]"中使用,不包括嵌套使用。 其实也就是说"\[\]"代表的是一个字符集,"\^"只有在字符集中才是反向字符集的意思。**

相关推荐
阿猿收手吧!6 分钟前
windows本机vscode通过ssh免密登录远程linux服务器 && git push/pull 免密
服务器·windows·vscode
创业之路&下一个五年12 分钟前
按照ip的转换为二进制的方式理解a\b\c类地址的边界
服务器·网络·tcp/ip
skywalk816324 分钟前
尝试Auto-coder.chat使用星河社区AIStudio部署的几个大模型:文心4.5-21b、Deepseek r1 70b、llama 3.1 8b
linux·服务器·人工智能·大模型·aistudio
梁正雄2 小时前
6、prometheus资源规划
运维·服务器·服务发现·prometheus·监控
晨曦之旅2 小时前
零成本体验云计算!阿贝云免费服务器深度测评
运维·服务器·云计算
工具人55553 小时前
Linux 抓取 RAM Dump 完整指南
linux·运维·安全
会飞的小蛮猪3 小时前
SkyWalking运维之路(Java探针接入)
java·运维·经验分享·容器·skywalking
天一生水water4 小时前
docker-compose安装
运维·docker·容器
神仙别闹4 小时前
基于C语言 HTTP 服务器客户端的实验
服务器·c语言·http
Archy_Wang_14 小时前
基于BaGet 构建NuGet私有库并实现类库打包到NuGet私有库
运维·jenkins