我需要在Java中快速构建一个非常简化的类似HTML的标记语言的解析器。在Python中,我会使用pyparsing库来完成这个任务。在Java中是否有类似的东西?请不要建议已经存在的用于HTML解析的库,因为我的应用程序是一个学校作业,将演示遍历对象树并使用访问者模式将其序列化为文本,因此我没有考虑实际情况。基本上我只需要标记、属性和文本节点。
可能对你的使用来说有点过度,但javacc是一个优秀的工业级解析器生成器。我多次使用过这个程序/库,它可靠且值得学习,尤其是如果你要处理语言和编译器。以下是来自上述网站的程序描述:
Java Compiler Compiler [tm](JavaCC [tm])是与Java [tm]应用程序一起使用的最流行的解析器生成器。解析器生成器是一种工具,它读取语法规范并将其转换为可以识别语法匹配项的Java程序。除了解析器生成器本身之外,JavaCC还提供其他与解析器生成相关的标准功能,例如通过与JavaCC一起包括的名为JJTree的工具进行树构建、操作、调试等。
Java Source提供了一个很好的解析器列表(无论是否生成代码)。
Java 中有很多处理字符串的选择。
也许最基本的 java.util.Scanner
和 java.util.StringTokenizer
类对您有帮助?
另一个不错的选择可能是使用 org.apache.commons.lang.text
库。
http://commons.apache.org/lang/apidocs/org/apache/commons/lang/text/package-summary.html