如果我使用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} )如何接收全文文章,即提取正则表达式模式的值?附:如果可能的话
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
您可以在匹配大括号时进行拆分,清除匹配缓冲区。然后匹配逗号并使用正向前瞻断言右侧的单词字符而不是匹配它。
{[^{}]*}\K,(?=\w)
模式匹配:
{
匹配{
[^{}]*
匹配 0+ 次除{
and之外的任何字符}
}
匹配}
\K,
到现在都忘记匹配什么了,匹配一个逗号(?=\w)
正向前瞻,断言右边直接的是单词字符
$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} )
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消