首页 > 解决方案 > 使用正则表达式每隔两次出现分隔符拆分一个字符串

问题描述

我需要你的帮助,因为我不太擅长正则表达式!

我想在每两次出现“/”时拆分以下字符串

Alien 3 / Argentina / Alien 3 / Brazil / Alien 3 / Croatia / Vetřelec 3 / Czech Republic / Vetřelec 3 / Czechoslovakia / Alien³ / Denmark / Tulnukas 3 / Estonia / Alien³ / France / Alien 3 / Germany / Άλιεν³: Η Τελική Αναμέτρηση / Greece / A végső megoldás: Halál / Hungary / Alien³ / Italy / Svešais³ / Latvia / Svetimas 3 / Lithuania / Alien³ / Mexico / Alien 3 / Peru / Obcy 3 / Poland / Alien 3 - A Desforra / Portugal / Alien 3 / Romania / Чужой 3 / Russia / Туђин 3 / Serbia / Votrelec 3 / Slovakia / Osmi potnik 3 / Slovenia / Alien³ / Spain / 異形3 / Taiwan / Чужий 3 / Ukraine / Alien³ / UK / Alien³ / USA / Alien 3 / Uruguay

以这样的数组结束

Array ( [0] => Amelie / Argentina [1] => Amelie / Australia [2] => O Fabuloso Destino de Amélie Poulain / Brazil [3] => El fabuloso destino de Amelie Poulain / Chile [4] => Amelie / Croatia [5] => Amélie z Montmartru / Czech Republic [6] => Den fabelagtige Amélie fra Montmartre / Denmark [7] => Amélie / Finland [8] => Le Fabuleux Destin d'Amélie Poulain / France [9] => Die fabelhafte Welt der Amelie / Germany [10] => Αμελί / Greece [11] => Amélie csodálatos élete / Hungary [12] => Il favoloso mondo di Amélie / Italy [13] => Ameri / Japan [14] => Amelija iš Monmartro / Lithuania [15] => Amelie / Mexico [16] => Den fabelaktige Amélie fra Montmartre / Norway [17] => Amelie / Peru [18] => Amelia / Poland [19] => O Fabuloso Destino de Amélie / Portugal [20] => Amélie / Romania [21] => Амели / Russia [22] => Чудесна судбина Амелије Пулен / Serbia [23] => Amélia / Slovakia [24] => Amelie / Spain [25] => Amelie från Montmartre / Sweden [26] => 艾蜜莉的異想世界 / Taiwan [27] => Амелі / Ukraine [28] => Amélie / UK [29] => Amélie / USA [30] => Ameli / Uzbekistan [31] => Amélie / World-wide )

我最终得到的只是

/(.* \/ .*) /

,它没有做我想要的,因为它离开了数组中的最后一对,因为你可以在这里看到模式末尾的空格......

请不要使用爆炸和内爆每隔一个块提出其他解决方案。它必须用正则表达式完成。TIA。

标签: phpregexpcre

解决方案


你可以用preg_match_all这个。因此,如果您的输入字符串是$str,则$result可以如下实现:

$count = preg_match_all("~[^/]+/[^/]+~", $str, $result);

推荐阅读