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

用法一: 限定开头

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

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

相关推荐
一叶龙洲4 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker6 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience7 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
元Y亨H7 小时前
生产环境监控与故障应急处理(5-5-5 标准)指南
运维
踏月的造梦星球7 小时前
达梦数据库执行计划与性能分析入门:EXPLAIN、AUTOTRACE 与 ET
服务器·数据库·oracle
观山岳五楼8 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
星夜夏空998 小时前
网络编程(1)
服务器·网络
川石课堂软件测试8 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
寒晓星9 小时前
[linux]线程及多线程
linux·运维
慧一居士9 小时前
Linux如何设置固定的静态ip
运维