php正则表达式++什么意思?

liangfeng0828
  • 135
preg_match('/^[^\:]++(\:[^\:]++)*$/', $name)

php正则表达式++什么意思?

评论
阅读 272
3 个回答

/.*?/ /.*+/ 贪婪匹配和非非贪婪匹配, 默认就是贪婪的, 所以第二个+可以省略

我认为转义++号才有意义
原文的意思可能是匹配形如user:identifier:password这样的$name
捕获的是user后的信息,这样的字符串写法常见于redis或特殊自定义信息。
又因为尾部的*号, 所以也能单纯的匹配形如user$name
所以我猜测原文的意思可能是^[^\:]+(:[^\:]+)*$

相关链接 正则表达式 贪婪与非贪婪模式 区别

JS 中这种写法是不允许的,但我不了解 PCRE 是怎么样,然后就去 regex101 试了一下

regex101

根据我的理解, 两个加号和一个表现完全相同,是没有意义的写法。

撰写回答

登录后参与交流、获取后续更新提醒

宣传栏