【发布时间】:2011-05-11 12:37:21
【问题描述】:
我正在尝试解析从主题标签中获得的字符串,到目前为止,看起来正则表达式 可能 是最干净的方法。模式,带解释,如下:
#p3 -> p = 3
#h4 -> h = [ 4 ]
#h4,h6 -> h = [ 4, 6 ]
#p3,h4,h6 -> p = 3, h = [ 4, 6 ]
#h4,h6,p3 -> p = 3, h = [ 4, 6 ]
#h4s2,6,10 -> h = [ 4 ], s = { "4": [ 2, 6, 10 ] }
#h4s2,6,10,h6s5 -> h = [ 4, 6 ], s = { "4": [ 2, 6, 10 ] , "6": [ 5 ] }
#p20h4s2,6,10,h6s5,1 -> p = 20, h = [ 4, 6 ], s = { "4": [ 2, 6, 10 ] , "6": [ 5, 1 ] }
正如我所说,我认为正则表达式可能是我最好的选择,但它也是任何复杂事物的弱点。
如果您有其他建议/解决方案,我欢迎他们。我可以使用if/else 和很多indexOf 和splits 等等来做到这一点......但我确信一定有比这更好的方法。
更新:左边的输出最好被认为是一种解释。虽然这是理想的最终结果,但正则表达式解决方案不必解决全部问题,但也许可以让我参与其中。另外,重申一下,我正在使用 Javascript。
【问题讨论】:
-
您可以发布常规模式吗?喜欢模式的概括?
-
@jjnguy:听上去如果他能做到,他就不需要问这个问题了。
-
@Welbog,我希望他能自己回答这个问题。
-
我什至不知道如何在不发布答案的情况下提出这个问题。
-
@jjnguy @Welbog 说了什么......现在我有一些不工作、非基于正则表达式的复杂代码。将它包含在此处会更令人困惑而不是有帮助。
标签: javascript regex parsing