php - 用 Lua 表结构解析字符串
问题描述
我有一个具有这种结构的字符串(它是 Lua 表)
{['Name1']={score=235,x=6,y=88},['Name2']={score=112,x=12,y=55},['Name3']={score=15,x=15,y=56},}
为了便于阅读:
{['Name1']={score=235,x=6,y=88},
['Name2']={score=112,x=12,y=55},
['Name3']={score=15,x=15,y=56},} <--there might be more entries than these three of course
我需要为每个名称找到值 Name1、score、x 和 y。
我相信正则表达式可以做到,但我不擅长使用它。因此,如果有经验丰富的人给我一些模式,我会很高兴。
解决方案
你可以使用一些在线工具来测试你的正则表达式,比如这个
你也可以让你更容易,而不是使用正则表达式并用这个子字符串“},[”分割字符串,你会得到一些带有子字符串的值数组:
0 -> {['Name1']={score=235,x=6,y=88
1 -> 'Name2']={score=112,x=12,y=55
2 -> 'Name3']={score=15,x=15,y=56},}
然后你也可以用"]={"分割每个条目,你将拥有
0.0 -> {['Name1'
0.1 -> score=235,x=6,y=88
1.0 -> 'Name2'
1.1 -> score=112,x=12,y=55
2.0 -> 'Name3'
2,1 -> score=15,x=15,y=56},}
... 等等...
这不是一个很好的解决方案,但它可以帮助您在没有正则表达式的情况下完成任务。
推荐阅读
- html - 即使到达页面末尾,覆盖项目 div 仍在滚动
- docker - 恢复 Hdfs 文件
- node.js - 如何将 AWS lambda 函数转换为自己的 https 端点?
- python - 按位置连续顺序散开元素
- autodesk-forge - 调用 GET 时使用“forceget”错误:urn/metadata/:guid/properties
- apache-spark - 为什么在所有任务完成之前完成 spark 作业?
- kubernetes - 在 Kubernetes 节点上实现 iptables 规则
- angular - angular 2 完整的用户资料
- async-await - 设置异步调度的执行顺序(redux\redux-saga)
- c# - 在 GeckoFX 中添加功能