拆分为数组,难点是 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]);

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Shiba Inu,曾经是加密货币世界不可阻挡的力量,自 2020 年 9 月 1 日以来,已经实现了 17,167,926.02% 的惊人涨幅。

今天(9 月 18 日)加密货币市场略呈绿色,比特币 (BTC)、以太坊 (ETH) 和币安币 (BNB) 等众多资产走势图

ETFSwap (ETFS) 作为其病毒式 ICO 代币,在预售中出现了看涨趋势,一位 22 岁的 Solana 百万富翁预测,下一个狗狗币挑战者将在 2025 年第一季度上涨 2000 倍

曾经在模因币领域占据主导地位的热门货币现在面临着激烈的竞争。追求丰厚回报的投资者正在将目光转向有潜力获得可观收益的新竞争者。加密货币市场充斥着投机行为

人们认为加密市场即将迎来牛市。来自 Binance Coin (BNB) 和 Tron (TRX) 的知名鲸鱼正在 Lunex Network (LNEX) 上加载,为此次活动做准备。

在令人印象深刻的卷土重来后,投资者和交易员现在开始关注 Solana,这使得该数字货币再次触及两个月高点。

随着加密货币市场的不断成熟和发展,新的项目不断涌现,每个项目都承诺带来改变生活的回报。

币安宣布支持第一幕:人工智能预言 (ACT) 现货交易,周一早些时候引发了超过 2,224% 的爆炸式增长。
