验证表达式中的标记数

吉米

我正在编写一个 C# 程序,它按以下格式执行一些过滤表达式(条件由二元运算 AND 和 OR 连接)

Name==Me && Age>18 || City== NewYork

有一个标记器可以

 {Name, ==, Me , &&, Age, >, 18, ||, City, ==, NewYork}.

之后过滤逻辑将创建一个过滤器。

问题:我想对分词器处的标记数量进行一级验证。但我无法弄清楚令牌的数量是多少。

if(!IsValidCount(tokens.Count)) return false;

IsValidCount() 内部的逻辑是什么?

这可能比 C# 更数学,任何帮助表示赞赏

Innat3

每个条件必须包含 3 个标记(2 个字段 + 1 个比较器)。此外,对于每个附加条件,我们必须添加一个二元运算(AND/OR)来分隔它们(使其总共有 4 个标记)。

因此,有效的分词器将包含以下数量的标记:

3 + 4 + 4 + 4 ...

因此,您可以使用以下公式验证令牌数量是否有效:

string tokenizer = "{Name, ==, Me , &&, Age, >, 18, ||, City, ==, NewYork}";
var tokens = tokenizer.Split(',');
if (tokens.Length % 4 == 3)
{
    //valid
}
else
{
    //not valid
}

您可以更严格地检查每四个令牌是否确实是一个二元运算,但这由您决定。我希望我有帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用单词标记数学表达式

来自分类Dev

不从我的正则表达式中提取元标记数据

来自分类Dev

html标记中的AngularJS表达式

来自分类Dev

在Java中验证MVEL表达式

来自分类Dev

标记算术表达式?

来自分类Dev

XML中的C#正则表达式标记

来自分类Dev

函数“指针之前的期望表达式=标记”中的指针

来自分类Dev

正则表达式:在Scala中匹配并标记化

来自分类Dev

条件表达式中的JavaScript标记类型,如果

来自分类Dev

错误:C ++中']'标记之前的预期主表达式

来自分类Dev

表达式或语句powershell中的意外标记'if'

来自分类Dev

标记中的角复杂表达式与函数

来自分类Dev

无法取消标记中的正则表达式

来自分类Dev

Python 中的正则表达式,用于检测整数、浮点数或科学记数法中的数字

来自分类Dev

HTML中的正则表达式模式验证

来自分类Dev

如何在DMN camunda中验证输入表达式

来自分类Dev

QML中的TextField验证器的正则表达式

来自分类Dev

python中的正则表达式和输入验证

来自分类Dev

Bash Shell中的正则表达式密码验证

来自分类Dev

验证正则表达式中的多个条件

来自分类Dev

在XWork验证程序中重用正则表达式

来自分类Dev

yii模型验证中规则的正则表达式

来自分类Dev

验证中的正则表达式或“ nil”

来自分类Dev

JAVA中的网站/ URL验证正则表达式

来自分类Dev

如何在正则表达式中验证BIGINT

来自分类Dev

模式验证中的正则表达式

来自分类Dev

php中的正则表达式以验证模式

来自分类Dev

正则表达式以验证python中的代理uri

来自分类Dev

正则表达式检查Django中的验证