为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式里 ^ 这个符号到底是干啥的呢?

在网上查了一下,有两种说法,一种说是从字符串的开头匹配,另一种说是取补集,也就是例如正则表达式[^269A-Z] 将匹配除了2、6、9和所有大写字母之外的任何字符。

到底哪种说法是正确的呢?

还有一个 $ 符号我也搞不懂,比如:"^[A-Za-z]+$",怎么就表示由26个英文字母组成的字符串呢?去掉 $ 不是一样的么?

正在回答

4 回答

//里面的^是锚点,表示起始位置;$表示结尾位置

如果^出现在[]里面,就是取反………………有点儿蹩脚的解释,不过我是这么理解的

3 回复 有任何疑惑可以回复我~
#1

金泽城 提问者

非常感谢!
2017-03-10 回复 有任何疑惑可以回复我~
#2

金泽城 提问者

非常感谢,我看的懵懵懂懂的,自己用代码做测试,感觉是有点这么个意思,经您这么一指点,我就确认了,多谢啦!
2017-03-10 回复 有任何疑惑可以回复我~
#3

EugenioCode 回复 金泽城 提问者

我的理解其实也很蹩脚的,为了方便记忆我这么理解的,现在主要是用一个chrome插件来自动生成正则表达式的
2017-03-10 回复 有任何疑惑可以回复我~
#4

金泽城 提问者 回复 EugenioCode

哈,还有这种插件,能介绍一下吗,多谢您嘞 ^_^
2017-03-10 回复 有任何疑惑可以回复我~
查看1条回复

^是脱字符,字符类外的脱字符表示于字符串开始锚定模式。如果没有这个字符,可以在字符串的任意位置开始匹配。字符类内部的脱字符则表示“匹配中括号中所列字符以外的其他字符”。

1 回复 有任何疑惑可以回复我~
1 回复 有任何疑惑可以回复我~
#1

金泽城 提问者

好嘞,收到,再次感谢!
2017-03-11 回复 有任何疑惑可以回复我~

公司电脑上没有,我要回去看一下 然后告诉你吧

1 回复 有任何疑惑可以回复我~
#1

金泽城 提问者

嗯嗯,好滴,麻烦您了,感谢!
2017-03-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP进阶篇
  • 参与学习       181733    人
  • 解答问题       2575    个

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

进入课程

正则表达式里 ^ 这个符号到底是干啥的呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信