2014-10-01 46 views
1

我想添加一个符号令牌才能通过下面ParseKit:你可以在ParseKit中使用通配符吗?

[t.symbolState add:@"<p style=\"margin-left: 20px;\">"]; 

我想知道如果ParseKit允许通配符添加符号时,如:

[t.symbolState add:@"<p style=\"margin-left: ##px;\">"]; 

我想成为能够在解析过程中从令牌中提取通配符。

ParseKit有这种可能吗?

回答

1

开发商ParseKit在这里。

我觉得以这种方式使用ParseKit不是一个好主意。

ParseKit(及其后继PEGKit)擅长标记化的输入,然后令牌水平解析。

您提供的示例输入中有几个自然标记,但您要在此处执行的操作是忽略这些自然标记,将它们组合成一个输入块,然后使用模式进行花式子标记匹配。

有一个流行的强大的工具,用于使用模式的花式子令牌匹配:正则表达式。与PEGKit相比,它们将是更好的解决方案。

不过,我仍然不认为正则表达式是要在这里使用(或者,至少不是唯一工具)的工具。

它看起来像你想解析XML输入。不要使用正则表达式或PEGKit。 使用XML解析器。始终使用XML解析器来解析XML输入。

您可以选择使用另一个XML解析器(SAX,StAX,DOM,XSLT,XQuery等)顶层的XML API,但在它下面,您应该使用XML解析器进行解析(并且,当然,我列出的所有这些工具都可以)。

See here for more info

然后,一旦你有style属性字符串值你正在寻找,使用正则表达式来做花哨的模式匹配。

+0

谢谢你的回答,托德!顺便说一句,我不知道ParseKit被认为是弃用。我没有在ParseKit网页上的任何地方看到。可能想让人们知道它的继任者:) – 2014-10-01 18:12:36

相关问题