java - 表示 DFA 的数据结构

标签 java regex data-structures dfa

我想知道,表示 DFA 的最佳数据结构是什么?

我正在考虑将正则表达式转换为 DFA,并将此特定功能作为 Java 库。

最主要的是,正则表达式中的每个实体都带有一组值,而不是像 "car"这样的单个字符串值。在我的例子中,每个实体都会携带许多属性,例如 {car, Honda, 4x4, sedan, ...}(虽然我不是在搜索汽车,但这只是一个例子。)

有什么建议吗?

最佳答案

如果我正确理解你的问题,你想要一个匹配/过滤库来匹配/过滤动态类型字母表上的任意常规语言吗?以你的汽车为例,我想你会希望能够创建一个表达式来匹配一个列表,其中所有汽车(颜色为红色,有 2 到 6 名乘客,每个乘客在 8 到88 岁)或(有 1 名乘客)。

巧合的是,我自己一直在寻找类似的东西(用于文档验证),我能找到的最接近的是 Jing ; Java RELAX-NG 库。不幸的是,Jing 中的字母表由 XML 节点组成,所以它没有解决我的问题。目前,我正在尝试自己编写一个库,它基于 Jing 中的模式匹配来执行此操作(在任意类型的字母表上匹配常规语言)。如果您想对此提供帮助,请告诉我 ;)。

关于java - 表示 DFA 的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3910946/

相关文章:

java - 如何在 EJB 2.0 中编译实体 bean?

java - 安卓线程问题

java - 如何在java程序中解决两部电梯的场景

regex - OS X 'RE error: invalid repetition count(s)'

python - 在孟加拉语单词中查找音节的正则表达式

data-structures - ColdFusion:如何检查某个元素是否存在于二维数组中?

python - 在 O(log n) 时间内搜索旋转排序数组

c++ - C++ Map中如何使用自定义结构

java - 为什么要重写父类(super class)的方法,而不是给它一个不同的名称?

regex - 使用 Text.Regex.PCRE 解析网页标题缺少字符