php 贪婪模式 与 非贪婪模式
贪婪模式:
限定符 |
说明 |
---|---|
{n} |
表达式固定重复n次,比如:"\w{2}" 相当于 "\w\w" |
{m, n} |
表达式尽可能重复n次,至少重复m次:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa" |
{m, } |
表达式尽可能的多匹配,至少重复m次:"\w\d{2,}"可以匹配 "a12","x456"... |
? |
表达式尽可能匹配1次,也可以不匹配,相当于 {0, 1} |
+ |
表达式尽可能的多匹配,至少匹配1次,相当于 {1, } |
* |
表达式尽可能的多匹配,最少可以不匹配,相当于 {0, } |
非贪婪模式:
懒惰限定符 | 说明 |
---|---|
*? | 重复任意次,但尽可能少重复 |
+? | 重复 1 次或更多次,但尽可能少重复 |
?? | 重复 0 次或 1 次,但尽可能少重复 |
{n,} | 重复 n 次以上,但尽可能少重复 |
{n,m} | 重复 n 到 m 次,但尽可能少重复 |
例子:
1:*?
$str = 'aaaaaaaa';
preg_match('/a*/', $str,$ary1);
preg_match('/a*?/',$str,$ary2);
echo '<xmp>';print_r($ary1);echo '</xmp>';
echo '<xmp>';print_r($ary2);echo '</xmp>';
结果:
Array( [0] => aaaaaaaa)
Array( [0] => )
$str = 'aaaaaaabaaababa';
preg_match('/a{1,10}/',$str,$ary1);
preg_match('/a{1,10}?/',$str,$ary2);
echo '<xmp>';print_r($ary1);echo '</xmp>';
echo '<xmp>';print_r($ary2);echo '</xmp>';
评论

React 18的并发渲染确实是个重大改进,我们在项目中已经升级使用,性能提升明显!