拆分为数组,难点是 C(x, y("z", 2, 0)), 是一个整体。
将字符串 $s='A, B, C(x, y("z", 2, 0)), D, E';
拆分为数组,难点是 C(x, y("z", 2, 0)), 是一个整体。
想要的结果:
array(
'A',
'B',
'C(x, y("z", 2, 0))',
'D',
'E');
回复讨论(解决方案)
$s='A, B, C(x, y("z", 2, 0)), D, E';$keywords = preg_split("/\,\s(?=[A-Z])/", $s);var_dump($keywords);
$s='A, B, C(x, y("z", 2, 0)), D, E';$keywords = preg_split("/\,\s(?=[A-Z])/", $s);var_dump($keywords);
-----------------------------
非常感谢你的回复!但是靠?=[A-Z] 不准确,因为有可能括号内也是大写(嵌套的括号内不管什么内容是一个整体)。
$s='A, B, C(X, Y("Z", 2, 0)), D, E';
$s='A, B, C(X, Y("Z", 1, 0)), D(X, Y("Z", 2, 0)), E,F(X, Y("Z", 3, 0))';//提取获取里面的内容preg_match_all("/\(.*?\)\)/",$s,$match);//这部分正则可以自行修改$s = str_replace($match[0],'%',$s);//将整体的替换成某个符合,%百分号也可以自己选定$exs = explode(',',$s);$i = 0;foreach($exs as $key=>$value){ if (strpos($value,"%") !== false) { $exs[$key] = str_replace('%',$match[0][$i],$value); $i ++; }}var_dump($exs);
帮你在复杂化了
所以这种事情不是正则能够胜任的,老老实实写个函数比绞尽脑汁写正则实惠的多
$s='A, B, C(x, Y("z", 2, 0)), D, E';print_r(foo($s));function foo($s) { $r = array(); $m = 0; $t = ''; for($i=0; $i<strlen($s); $i++) { if($s{$i} == '(') $m++; if($s{$i} == ')') $m--; if($m == 0 && $s{$i} == ',') { if($t) $r[] = $t; $t = ''; }else $t .= $s{$i}; } if($t) $r[] = $t; return $r;}
Array( [0] => A [1] => B [2] => C(x, Y("z", 2, 0)) [3] => D [4] => E)
感谢2位的回复。
想到了一个匹配括号嵌套的正则,有类似计算的可以参考一下。(没有严谨测试)
$s='A, B,C(X, Y("Ez", 2, 0, Z(kk, 99))),D, E(u(8 , D(88)))';
preg_match_all('/[A-Z](?=[,])|[^,]*\(([^()]+|(?R))*\)/',$s,$z);
print_r($z[0]);

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Shiba Inu, eine einst unaufhaltsame Kraft in der Welt der Kryptowährungen, hat seit dem 1. September 2020 einen phänomenalen Anstieg von 17.167.926,02 % erlebt.

Der Kryptowährungsmarkt liegt heute (18. September) leicht im grünen Bereich, wobei zahlreiche Vermögenswerte wie Bitcoin (BTC), Ethereum (ETH) und Binance Coin (BNB) im Chart sind

ETFSwap (ETFS) hat im Vorverkauf eine bullische Wendung genommen, da sein viraler ICO-Token, der von einem 22-jährigen Solana-Millionär als nächster Dogecoin-Herausforderer vorhergesagt wurde, im ersten Quartal 2025 eine 2000-fache Rallye erleben wird

Einst die Meme-Coin-Szene dominierend, sehen sich bekannte Favoriten nun starker Konkurrenz ausgesetzt. Anleger, die auf der Suche nach erheblichen Renditen sind, richten ihren Blick auf neue Konkurrenten mit dem Potenzial für beeindruckende Gewinne. Auf dem Kryptomarkt wimmelt es von Spekulationen

Die Leute glauben, dass auf dem Kryptomarkt ein Bullenmarkt bevorsteht. Ein prominenter Wal von Binance Coin (BNB) und Tron (TRX) bereitet sich auf dieses Ereignis vor, indem er sich auf Lunex Network (LNEX) lädt.

Nach einem beeindruckenden Comeback richten Investoren und Händler nun die Aufmerksamkeit auf Solana, wodurch die digitale Währung erneut ein Zweimonatshoch erreichen konnte.

Während der Kryptowährungsmarkt immer reifer wird und sich weiterentwickelt, kommen neue Projekte auf den Markt, von denen jedes verspricht, lebensverändernde Renditen zu erzielen.

Binance kündigte Spothandelsunterstützung für Act I:The AI Prophecy (ACT) an, was am frühen Montag zu einer Explosion von mehr als 2.224 % führte.
