Nan*_*com 6 java regex string parsing lexer
我目前正在尝试创建一个能够解释动态字符串的软件组件,例如:
%TO_LOWER%(%DELETE_WHITESPACES%("A SAMPLE TEXT"))
Run Code Online (Sandbox Code Playgroud)
这会产生这个字符串:
asampletext
Run Code Online (Sandbox Code Playgroud)
我希望能够定义一组可用的函数,具有语义参数等.我已经知道(或多或少)如何使用正则表达式来完成它.
我的问题是:
谢谢!
为了这个目的,lexing /解析方式是否比regexp更好,或者我应该只使用正则表达式并忘掉它?
正则表达式不能表达递归语法,并且您的语法似乎需要递归语法.如果是这种情况,那么正则表达式根本无法解决问题.
这样的库是否已经存在于Java中?
这不是库可以解决的问题.您需要使用解析器生成器系统(例如Antlr或Javacc)来生成词法分析器和解析器,或者从头开始虚拟地编写它们.前一种方法可能更好......除非你已经采用了涵盖这一领域的单一级别主题,或者准备进行大量阅读.
你知道任何教程显示一些示例解析/ lexing算法吗?
Antlr和Javacc都有广泛的教程材料和示例.