Don*_*van 2 php regex string split
我需要拆分一个包含逗号的字符串.我已经找到像(str_getcsv
)这样的字符串的东西:
'A', 'B with a comma, eh', 'C'
Run Code Online (Sandbox Code Playgroud)
但我的字符串是这样的,例如没有值的封闭字符:
A, B (one, two), C
Run Code Online (Sandbox Code Playgroud)
我需要爆炸并获得:
array(3) {
[0]=>
string(1) "A"
[1]=>
string(12) "B (one, two)"
[2]=>
string(1) "C"
}
Run Code Online (Sandbox Code Playgroud)
我想使用不在括号内的逗号分割字符串,因为这是我爆炸失败时唯一的情况.
但是你的疯狂愿望有一个解决方案;)
$a = "(Z) X, (Y, W) A, B (one, two), C, D (E,F,G) H, I J";
$reg = '/[^(,]*(?:\([^)]+\))?[^),]*/';
preg_match_all($reg, $a, $matches);
$result = array_filter($matches[0]);
var_dump($result);
Run Code Online (Sandbox Code Playgroud)