如何从 PHP 中的 preg_split() 函数中提取正则表达式值

如果我使用preg_split()函数例如:


$string = 'products{id,name},articles{title,text}';

$arr = preg_split('/\}\,(\w)/', $string);

print_r($arr);

我收到以下结果:


Array ( [0] => products{id,name [1] => rticles{title,text} )

如何接收全文文章,即提取正则表达式模式的值?


附:如果可能的话


开心每一天1111
浏览 80回答 1
1回答

POPMUISE

您可以在匹配大括号时进行拆分,清除匹配缓冲区。然后匹配逗号并使用正向前瞻断言右侧的单词字符而不是匹配它。{[^{}]*}\K,(?=\w)模式匹配:{匹配{[^{}]*匹配 0+ 次除{and之外的任何字符}}匹配}\K,到现在都忘记匹配什么了,匹配一个逗号(?=\w)正向前瞻,断言右边直接的是单词字符正则表达式演示| PHP演示$string = 'products{id,name},articles{title,text}'; $arr = preg_split('/{[^{}]*}\K,(?=\w)/', $string); print_r($arr);输出Array(     [0] => products{id,name}     [1] => articles{title,text} )
打开App,查看更多内容
随时随地看视频慕课网APP