Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';(ab)和(x2B)之间的区别是什么;?及(ab)及"x2B ;;当我在boost:regex中使用它时?_Regex_Perl - Fatal编程技术网

什么';(ab)和(x2B)之间的区别是什么;?及(ab)及"x2B ;;当我在boost:regex中使用它时?

什么';(ab)和(x2B)之间的区别是什么;?及(ab)及"x2B ;;当我在boost:regex中使用它时?,regex,perl,Regex,Perl,+?匹配前一个原子一次或多次,同时尽可能少地消耗输入 我不明白这一点,有人能帮我吗?(ab)+?将尝试匹配至少出现一次的ab,它将在找到模式后立即返回,因此它是懒惰的 (ab)+将尝试匹配至少出现一次的ab的所有事件,然后它将返回,因此它是贪婪的 演示:和 请注意,在第一次演示中,ab的第一次出现匹配(突出显示),而在第二次演示中,ab的所有出现匹配(突出显示) 注意:重复捕获组只捕获最后一次迭代。在重复组周围放置一个捕获组以捕获所有迭代,或者如果您对数据不感兴趣,则使用非捕获组 参见:+和?是

+?
匹配前一个原子一次或多次,同时尽可能少地消耗输入

我不明白这一点,有人能帮我吗?

(ab)+?
将尝试匹配至少出现一次的
ab
,它将在找到模式后立即返回,因此它是懒惰的

(ab)+
将尝试匹配至少出现一次的
ab
的所有事件,然后它将返回,因此它是贪婪的

演示:和

请注意,在第一次演示中,
ab
的第一次出现匹配(突出显示),而在第二次演示中,ab的所有出现匹配(突出显示)

注意:重复捕获组只捕获最后一次迭代。在重复组周围放置一个捕获组以捕获所有迭代,或者如果您对数据不感兴趣,则使用非捕获组


参见:

+
是量词

  • +
    :匹配一次或多次
  • :匹配1或0次
默认情况下,量化的子模式是“贪婪的”,也就是说,它将尽可能多地匹配(给定特定的起始位置),同时仍然允许模式的其余部分匹配。如果您希望它匹配尽可能少的次数,请在量词后面加“?”
请注意,含义不会改变,只是“贪婪”:

+?
:匹配1次或多次,而不是贪婪地匹配

有关更多信息,请参阅: