我需要解析字符的一个极其复杂的字符串来提取它的一个特定部分,其中包含一个外键,数据库(片段来自一个叫做Interspire邮件营销产品和含有一些奇怪的逻辑来过滤联系人列表)。解析字符的复杂的字符串使用Ruby
有问题的字符串如下(是的,我知道这是非常奇怪这是怎么了系统存储。):
a:2:{s:5:"Lists";a:1:{i:0;s:1:"6";}s:5:"Rules";a:1:{i:0;a:3:
{s:4:"type";s:5:"group";s:9:"connector";s:3:"and";s:5:"rules";a:1:{i:0;a:3:
{s:4:"type";s:4:"rule";s:9:"connector";s:3:"and";s:5:"rules";a:2:
{s:8:"ruleName";s:3:"100";s:12:"ruleOperator";s:7:"isempty";}}}}}}
我需要的部分是{i:0;s:1:"<here>";}
但它可不仅仅是一个单一的更字符。我该如何解析这个怪异的串并提取我需要使用Ruby多少?
如何解析器知道要提取一部分?因为它对我和s有一些价值?因为我是0而s是1?即,你找{I:\ *; S:\ *: “\ *”}其中\ *可以是任何东西?或者你在寻找我:0; s:1?或者是其他东西? – DigitalRoss 2009-09-22 20:15:05
你应该检查更多的样本,并寻找方法来找到“”字符串,适用于所有的人都是如此。 –
Inshallah
2009-09-22 20:19:32