为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
开心每一天1111 2023-11-03 15:13:17
如果我使用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)正向前瞻,断言右边直接的是单词字符

正则表达式演示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}
)


查看完整回答
反对 回复 2023-11-03
  • 1 回答
  • 0 关注
  • 79 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信