如何在php中查找字母块中的特定字母集
我需要从一组字母中提取一些单词 范例 “gkshgksguvjvjvjgvjgvjgvggvggvggvgggku堆栈ksbegkbeskbgksebgggggggbbbbbbbbbbbbbbgjvjvvgjvgvgvgjvgvgvgjvgvgvgvgjvgjvgvgvgvgjvgvggvggvggvggvgggvgggvggvgggvgvgvgvgvgvgggggvgggggvggvggggg如何在php中查找字母块中的特定字母集,php,string,Php,String,我需要从一组字母中提取一些单词 范例 “gkshgksguvjvjvjgvjgvjgvggvggvggvgggku堆栈ksbegkbeskbgksebgggggggbbbbbbbbbbbbbbgjvjvvgjvgvgvgjvgvgvgjvgvgvgvgjvgjvgvgvgvgjvgvggvggvggvggvgggvgggvggvgggvgvgvgvgvgvgggggvgggggvggvggggg 我想提取“堆栈ksbegkbeskbgksebgkbb溢出” 从上述文本中 堆栈和溢出之间的字母数可
从上述文本中
U
修饰符,使*
不贪婪
常规的express/STACK(.*)OVERFLOW/U
具有U
修饰符,使*
非贪婪,这意味着它应该匹配最小数量的字符(如果没有U
,*
将贪婪并尽可能多地匹配(直到最后一次“溢出”)
$matches
将是一个数组。$matches[0]
是一个包含所有完整匹配项的数组。$matches[1]
包含第一组括号中所有子部分的数组
看
注意:
U
修饰符使所有的中继器都非贪婪。如果你想混合贪婪和非贪婪,你可以做*?
使其中一个非贪婪。上面的正则表达式将变成/STACK(.*)溢出/“
可能重复@Winter我需要一个php解决方案,不仅仅是为了了解Regexoops,对不起,我忘了在regex模式中添加“ungreediness”。上面的答案已经更正。非常感谢!!!它真的有效:)我们需要更多像你这样的人在这个星球上:)
$theBlob = "abcSTACKmmmOVERFLOWxyz...";
preg_match_all('/STACK(.*)OVERFLOW/U', $theBlob, $matches);
assert( $matches[0][0] === 'STACKmmmOVERFLOW' );
assert( $matches[1][0] === 'mmm' );