我的表达是(a<1) or (b=2) and (c>3)
我想提取变量名称(a
,b
,c
)并将其存储在名为var[]
的数组中。
类似值(1
,2
,3
)和运算符(or
,and
)。我应该使用正则表达式,如果不是它会是什么?
答案 0 :(得分:1)
你应该做的是a)找到能够为你提供所需内容的抽象解析树的东西,或者b)使用众多解析器构建器之一设计上面的东西 - 尝试阅读flex或bison。也许你也想看看antlr。
答案 1 :(得分:0)
我不知道你使用的语言是什么,而且你还没有给出很多比赛。一个基本的RegEx将是:
(?<=\()[^)>=<]*
将获得(
之后的字符)(?<=\()[A-Za-z]*
将获得(
之后的字母也许:
(?<=\()(.*?)(?:[=><])([^)\n])
可以更好地工作,这将捕获两个部分