ruby-on-rails - 尝试在 ruby​​ 中使用正则表达式来查找特定字符

标签 ruby-on-rails ruby regex ruby-on-rails-3.1

我正在尝试在 ruby​​ on rails 应用程序中使用正则表达式来搜索给定的字符串并找到左方括号和右方括号(即 [ 和 ])的任何实例,然后选择两者之间的内容。

例如:

Lorem ipsum [dolor sit] amet...

在此字符串中,结果将是:[dolor sit]

我玩了一下 rubular,发现这或多或少能满足我的需求

/\[.*?\]/

所以我的问题是,如何在不选择方括号本身的情况下匹配两个方括号内的所有内容?还有我如何将它们实际集成到 ruby​​ 脚本中?

正则表达式对我来说是全新的领域,所以非常感谢你们能提供的任何帮助:)

最佳答案

收集正则表达式的多个捕获是 String#scan 的工作

>> s="Lorem ipsum [dolor sit] [amet] ..."
=> "Lorem ipsum [dolor sit] [amet] ..."
>> s.scan(/\[([^\]]*)\]/).flatten
=> ["dolor sit", "amet"]

关于ruby-on-rails - 尝试在 ruby​​ 中使用正则表达式来查找特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10421775/

相关文章:

ruby-on-rails - Rails 验证检查的顺序/优先级

ruby-on-rails - 三个模型之间的关联

ruby-on-rails - 这个 gem 存在吗?

javascript - 使用 Rails,如何在应用程序的特定页面上执行 javascript 文件?

ruby-on-rails - Capistrano 迁移部署

javascript - 如何在 Javascript 中对正则表达式反向引用匹配执行操作?

javascript - 如何拖放表格?

ruby-on-rails - 在 Ruby 方法中调用 'return' 后需要 'fail' 语句吗?

javascript - 正则表达式,如何匹配但只捕获符号后面的内容

javascript - 用于验证 UTF-8 的正则表达式仅包含 "normal"个字符