我正在尝试学习树顶,并且正在从https://github.com/survival/lordbishop获取大部分代码来解析名称,并将以此构建。
我的结构有点不同,因为我是在 Rails 中构建它,而不是 ruby 命令行。
当我运行一个非常简单的解析时,我在一个空格上返回了一个解析错误(这应该是我语法中更简单的事情之一。我做错了什么?
在我的模型中,我的代码相当简单
需要“树顶” 需要“多语种” 需要'语法/名称' 班级名称 def self.parse(数据) parser = FullNameParser.new 树 = parser.parse(数据) 如果tree.nil? 返回“在偏移量处解析错误:#{parser.index}” 结尾 结果哈希 = {} tree.value.each 做 |node| result_hash[node[0] = node[1].strip if node.is_a?(Array) && !node[1].blank? 结尾 返回result_hash 结尾 结尾
我已经将大部分语法剥离为只获取单词和空格
语法全名 规则词 [^\s]+ { 默认值 文本值 结尾 } 结尾 规则 [\s]+ { 默认值 “” 结尾 } 结尾 结尾
我正在尝试解析'john smith',我希望只取回单词和空格并从那里建立我的逻辑,但我什至被困在这个简单的水平上。有什么建议么??