正则表达式模式+ preg_split保留定界符

时间:2019-04-11 11:08:07

标签: php regex

我阅读了有关正则表达式和preg_split的文章,但没有任何符合我的兴趣的地方。

我有以下文字: C01G01乔恩·多伊·肯尼·兰妮C02G02拉姆齐·约翰C02G03爱丽丝·阿克塞尔

我想在定界符为C(number)G(number)的情况下使用preg_split,并将定界符保留在数组中。

我做了什么:

$parts = preg_split('/C+[0-200]+G+[0-200]/', 
$students,-1,PREG_SPLIT_DELIM_CAPTURE);

返回的内容:

Array(
[0] => 
[1] => 1 Jon Doe Kenny Ranny 
[2] => 2 Ramsay John 
[3] => 3 Alice Axel
)

我希望返回的内容:

Array(
[0] => 
[1] => C01G01 Jon Doe Kenny Ranny 
[2] => C02G02 Ramsay John 
[3] => C02G03 Alice Axel
)

1 个答案:

答案 0 :(得分:1)

\s(?=C+\d+G+\d+)

您可以使用这种类型的东西。请参见演示。

https://regex101.com/r/qyCwCN/1