regex - 使用正则表达式为词法分析器标记字符串是否是个坏主意?

标签 regex tokenize lexer

我不确定如何将词法标记来源。现在,我只能想到使用正则表达式将字符串解析为具有给定规则(标识符,诸如+,-等的符号)的数组。

例如,

begin x:=1;y:=2;

那么我想标记单词,变量(在这种情况下为x,y)和每个符号(:,= ,;)。

最佳答案

使用正则表达式是实现词法分析器的常用方法。如果您不想使用它们,那么您最终还是要自己实现一些正则表达式部分。

尽管就性能而言,如果您自己进行操作可能会更有效率,但这不是必须的。

关于regex - 使用正则表达式为词法分析器标记字符串是否是个坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14761776/

相关文章:

c# - 该字符串的正则表达式提取值

java - 使用 Split 方法创建分词器

delphi - 如何在 Delphi 中解析复杂的文件格式? (不是 CSV、XML 等)

python - 我怎样才能让 Spacy 停止将带连字符的数字和单词拆分成单独的标记?

python - Lexer 对 SKIP 和 NEWLINE 值进行标记。如何隐藏它们?

javascript - 如何在正则表达式中隔离字符串后的一定数量的字符

jQuery RegEx 测试返回未定义

MySQL 正则表达式 + 空格 (\s)

matlab - 在哪里可以找到 MATLAB 的正式语法?

java - ElasticSearch支持AND、OR、NOT任意组合