当前位置: 首页 > 知识库问答 >
问题:

Ruby中的语法分析

贺卜霸
2023-03-14

我面前有一项任务,它依赖于解释文本的结构——准确地说,是一本单语词典。该词典有相当复杂的条目:多达29个唯一元素,有些元素嵌套在其他元素中。我正在为字典设计我自己的XML模式,但是我想写一个程序来自动解析我所拥有的纯文本。

我有一些Ruby的基本技能,我是一个经验丰富的正则表达式用户,但我认为创建大量的if树和非常长的正则表达式可能不是最好的主意。我已经找到了一些关于解析表达式语法、巴科斯范式和W-语法的信息,但对于它们的最佳应用似乎有些模糊。

我的问题是:用自然语言来解释文本结构的最佳方式是什么?我不想解释语言本身,而是根据使用的字符和关键字以及它们的邻域,将每个条目划分为多个部分。你会推荐哪些宝石和资源?

编辑:这里有一个从字典(波兰语)中找到的中等简单条目的例子。我想做的是标记每个元素(感官,解释,搭配,标记等)。)。如你所见,我正在寻找一种有效的方法,以树状的形式包含大量的案例。另一个问题是,我想有很多捕获,因为我想标记XML中的段,从大到小。

共有1个答案

凤晨朗
2023-03-14

这看起来是一个非常适合树梢的问题。我认为我没有足够的信息来确保它能正常工作,但是能够将正则表达式组合到一个更大的结构中,在这个结构中,29个元素中的每一个都可以被管理,并且它们的信息可以适当地使用Ruby的任何功能提取/表示,这似乎是您需要的功能集。

 类似资料:
  • 主要内容:实例,Ruby 程序中的空白,Ruby 程序中的行尾,Ruby 标识符,保留字,Ruby 中的 Here Document,实例,Ruby BEGIN 语句,Ruby END 语句,实例,Ruby 注释让我们编写一个简单的 Ruby 程序。所有的 Ruby 文件扩展名都是 .rb。所以,把下面的源代码放在 test.rb 文件中。 实例 #!/usr/bin/ruby -w puts "Hello, Ruby!"; 运行实例 » 在这里,假设您的 /usr/bin 目录下已经有可用的

  • 本文向大家介绍Ruby语法,包括了Ruby语法的使用技巧和注意事项,需要的朋友参考一下 Ruby语法 Ruby的语法与Python和Perl广泛相似。关键字和花括号用于定义代码块。我们有各种关键字来定义类和对象。语法与Python和Perl的不同之处在于,所有实例变量均保持私有状态,并且只能通过访问修饰符进行访问。 让我们看一下基本语法: 变数 变量用于保存一些数据并驻留在特定的内存位置。Ruby

  • 本文向大家介绍Ruby语法笔记,包括了Ruby语法笔记的使用技巧和注意事项,需要的朋友参考一下 接受用户输入 首字母大写 字母变大写 字母变小写 多行输出 注释 变量获取 变量 全局变量 $ 类变量 @@ 方法变量 @ 局部变量 小写字母或_ if/else 类 是否包含字符 替换字符 在字符串中输出变量值 while Until += 、 -= 、 *=、 /= Some languages h

  • 安装好了 Ruby 之后,让我们开始尝试编写第一个 Ruby 代码吧。 1. Hello World 首先让我们输出一个 “Hello World”。 1.1 使用irb irb 就是 interactive ruby 的缩写 ,也就是所谓的交互式Ruby。 在命令行中输入irb: $ irb irb(main):001:0> 然后我们输入“Hello World”: irb(main):00

  • 本文向大家介绍Ruby的语法和语言特性总结,包括了Ruby的语法和语言特性总结的使用技巧和注意事项,需要的朋友参考一下 Ruby是一种解释型、面向对象、动态类型的语言。Ruby采取的策略是在灵活性和运行时安全之间寻找平衡点。随着Rails框架的出现,Ruby也在2006年前后一鸣惊人,同时也指引人们重新找回编程乐趣。尽管从执行速度上说,Ruby谈不上有多高效,但它却能让程序员的编程效率大幅提高。本

  • 本文向大家介绍Ruby基础语法初探,包括了Ruby基础语法初探的使用技巧和注意事项,需要的朋友参考一下 创建字符串对象有多种途径,最常用的可能是使用字符串字面量(literals),即一组单引号或双引号之间的字符序列。这两种形式的区别在于,当构造字面量时,Ruby对字符串所做处理的多少有所不同。Ruby对单引号串处理得很少。除了极少的一些例外。键入到字符串字面量的内容就构成了这个字符串的值。 Ru