$subject = "SIverygood \n SIverygood\n";
$pattern = '/^SI/m';
preg_match_all($pattern, $subject, $matches2,PREG_OFFSET_CAPTURE);
var_dump($matches2);
我无法理解m and s修饰符。我想在每个换行符的开头得到 SI。我这样做是为了练习目的,以了解 m 和 s 修饰符。
上面的例子只是先返回SI。但我两个都想要。
The m
是一个多行修饰符,它将使起始锚点匹配每行的开头而不是整个字符串。在第一行开头的字符串中,您有SI
它返回它,但在第二行中,该行的开头是space not SI
.
如果您想忽略行首的空格,可以使用以下正则表达式:
$pattern = '/^\s*(SI)/m';
并得到第一个匹配组的结果。了解有关修饰符的更多信息http://www.regular-expressions.info/modifiers.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)