【发布时间】:2018-06-12 11:10:54
【问题描述】:
我在定义允许两个标签(包括那些标签)之间的任何文本的表达式时遇到问题。
例子:
#ifdef
asdasdasdasdasdsasd
asdasdasdasdasdasdasd
asdasdasdasdasdasasd
#endif
它也应该允许
#ifdef
asdasdasd
asdasdsad
#ifdefasdasdasd
asdasdasd
#endif#endif
asdasdasd
asdasdasd
#endif
如您所见,只要它以#ifdef 和endif 开头和结尾,里面的任何文本都可以。
谁能帮我创建这样的表达式?
到目前为止我尝试的是这样的:
H_IF_IGNORE
= ("#ifdef) _
H_IF_IGNORE / (!"#endif"i SourceCharacter)*
"#endif"
但它运行得不是很好,最终在最后一个 endif 之后消耗了更多的文本。
最好的问候
【问题讨论】:
标签: javascript parsing compiler-construction peg