gpt4 book ai didi

php - 使用可选引号解析键值对

转载 作者:可可西里 更新时间:2023-10-31 22:43:32 24 4
gpt4 key购买 nike

我正在尝试从 PHP 中的字符串中解析出键值对。空格分隔符,引用/不引用被空格包围这是我的尝试。

preg_match_all("/(\w+)[\s]*=[\s]*(([^'\s]+)|'([^']*)')/", $文本,$matches);

问题在于它用 ([^'\s]+) 和 '([^']*)' 填充了两个不同的数组

进一步的改进也将允许双引号,但我的任何尝试都失败了。

最佳答案

使用非捕获组会有所帮助。它可以作为对原始正则表达式的一个小修改来完成-

(\w+)[\s]*=[\s]*((?:[^'\s]+)|'(?:[^']*)')
^^ ^^

这使得任一值类型都可以在同一组中捕获。
演示 Here

编辑 -
作为进一步的修改,如果你想在你的值中允许双引号,那么试试这个 -

(\w+)[\s]*=[\s]*((?:[^"'\s]+)|'(?:[^']*)'|"(?:[^"]*)")

演示 Here

关于php - 使用可选引号解析键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22592608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com