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

Regex加和星差?

Regex加和星差?

青春有我 2019-06-19 14:39:18
Regex加和星差?在以下方面有何区别:(.+?)和(.*?)当我在我的php中使用它时preg_matchregex?
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

它们被称为量词。

*前一表达式中的0或多个

+前一表达式中的一个或多个

默认情况下,量词是贪婪的,这意味着它匹配尽可能多的字符。

这个?在量词改变行为使这个量词“不贪婪”之后,意味着它将尽可能少地匹配。

贪婪/不贪婪

例如,在字符串上“阿巴"

a.*b将匹配“abab”(preg_match_all将返回一个匹配,“abab”)

a.*?b将只匹配起始的“ab”(preg_match_all将返回两个匹配项,“ab”)

你可以在网上测试你的雷克斯,看这里贪婪的例子


查看完整回答
反对 回复 2019-06-19
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

第一(+)是一个或多个字符..第二(*)是零或多个字符..两者都不贪婪(?)并匹配任何东西(.).


查看完整回答
反对 回复 2019-06-19
?
慕仙森

TA贡献1827条经验 获得超7个赞

+火柴一个或多个前面模式的实例。一个*火柴零或更多前面模式的实例。

所以基本上,如果你用+如果使用*如果没有它的实例,它仍然是匹配的


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信