Regex加和星差?

Regex加和星差?

在以下方面有何区别:

(.+?)

(.*?)

当我在我的php中使用它时preg_matchregex?


青春有我
浏览 604回答 3
3回答

慕雪6442864

它们被称为量词。*前一表达式中的0或多个+前一表达式中的一个或多个默认情况下,量词是贪婪的,这意味着它匹配尽可能多的字符。这个?在量词改变行为使这个量词“不贪婪”之后,意味着它将尽可能少地匹配。贪婪/不贪婪例如,在字符串上“阿巴"a.*b将匹配“abab”(preg_match_all将返回一个匹配,“abab”)当a.*?b将只匹配起始的“ab”(preg_match_all将返回两个匹配项,“ab”)你可以在网上测试你的雷克斯,看这里贪婪的例子

子衿沉夜

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

慕仙森

A +火柴一个或多个前面模式的实例。一个*火柴零或更多前面模式的实例。所以基本上,如果你用+如果使用*如果没有它的实例,它仍然是匹配的
打开App,查看更多内容
随时随地看视频慕课网APP