问题描述
免责声明:这是我第一次涉足 PHP 和脚本编写 - 我的所有开发经验都是在 iOS(Swift 和 Objective-C)中进行的。我已经开始做教程了。
我们有一个很大的 .PHP
文件,我们称之为 objects.PHP
,其中包含许多静态变量。
结构看起来像这样:
'ObjectDictionaryTom' => [
A_Class::NAME => "Tom"
]
'ObjectDictionaryDick' => [
A_Class::NAME => "Dick"
]
'ObjectDictionaryHarry' => [
A_Class::NAME => "Harry"
]
'ObjectDictionaryAlsotom' => [
A_Class::NAME => "Tom"
]
结构不一致;有时,它甚至看起来像这样:
`Objects` => [
'ObjectDictionaryTom' => [
A_Class::NAME => "Tom"
],'ObjectDictionaryDick' => [
A_Class::NAME => "Dick"
],'ObjectDictionaryHarry' => [
A_Class::NAME => "Harry"
],'ObjectDictionaryAlsotom' => [
A_Class::NAME => "Tom"
]
]
如何通读此文件并获取属于“Tom”的所有对象?也许将它们收集在 CSV 中?
我很乐意根据需要进行编辑或进一步解释!
解决方法
这样的事情怎么样:
'(.*?)'\s*=>\s*\[[\n\r\s]*\s*(.*?)\s*=>\s*"(.*?)"
As you can see here at regex101.com
您可以在提供的侧边栏中看到哪些捕获组存储了哪些值 - 特别是,您想要的那些位于捕获组 1
(第一组括号)中。
要访问它们,只需从结果中获取捕获组 1 的值即可。