将您喜爱的正则表达式转换为 FAT32
=========
你是否曾经想匹配一个正则表达式,但你所拥有的只是一个fat32驱动器?你是否曾经希望将你的正则表达式DFA序列化成由超过 30 亿台设备所支持的一种格式?不用担心了,有了regex2fat,这比以往任何时候都要容易得多!只需使用regex2fat '[YOUR] F{4}VOUR{1,7}E (R[^E]G)*EX HERE.' /dev/whatever,即可获得你喜爱的正则表达式的fat32正则表达式DFA。例如,要查看字符串'Y FFFFVOURRE EX HEREM'是否匹配,只需将其挂载并检查是否存在'/Y/SPACE/F/F/F/F/V/O/U/R/R/E/SPACE/E/X/SPACE/H/E/R/E/M/MATCH'。
要运行它,您可以 安装 cargo,然后运行 cargo install regex2fat (或者直接从这个仓库编译它)。如果您的路径中包含 cargo bin 目录,您应该可以像上面描述的那样调用它。创建的文件将是一个 fat32 镜像,可能可以通过某些方式安装或放到驱动器上,但最有可能是不应该这样做。
A: 普通的正则表达式(即不含回引用和类似的高级功能)可以转换为所谓的有限状态自动机(Deterministic Finite Automata)。 基本上,这是一组在状态之间的箭头,每个箭头都标有一个字母,因此状态中的一个字母会使当前状态沿着箭头进入另一个状态,其中一组状态是接受状态。是的,我解释得很差,如果你不知道它是什么,不如阅读 维基百科关于有限状态自动机的文章。
虽然 Fat32 通常具有树状结构,但每个目录只引用文件系统中的任意区块,因此同一个区块可以从多个目录引用。此外,目录中没有明确的父目录字段,因此可以省略 ..。这允许在文件系统内部构建图形结构,而 DFA 本质上就是一个图形结构。
暂无开放 Issues,或尚未同步最近议题。