为什么除了“位置,状态”中的逗号之外,没有用@替换所有逗号?
$test = preg_replace("#([^ ])([,])([^ ])#","$1@$3","100,,,'test','two',,'location, state',,[],1")
预期:100@@@'test'@'two'@@'位置,状态'@@[]@1
实际:100@,,'test'@'two'@,'location, state'@,[]@1
我认为这是因为连续逗号在模式中匹配,我如何让它从匹配字符的开头继续包含所有逗号?