php preg_split:由undrscores包围的小写字母拆分字符串

时间:2015-12-30 03:05:09

标签: php regex

我需要在保留分隔符的同时用下划线包围的小写字母拆分字符串。例如,如果我有这个字符串:
$string = '1_and_2_not_3';
所需的输出是:

[
  0 => "1",
  1 => "_and_2",
  2 => "_not_3"
]

现在,我这样做:
$stringArray = preg_split('/[_(.*?)_]/u', $string, PREG_SPLIT_DELIM_CAPTURE); 但是,它并没有捕获整个分隔符,而是仅捕获第一场比赛。

[
  0 => "1",
  1 => "and_2_not_3"
]

什么正则表达式会捕获所有匹配并给我完整的分隔符?

1 个答案:

答案 0 :(得分:3)

您可以使用前瞻分割,断言下划线的位置然后小写字母。

{{1}}

eval.in