ruby 正则表达式 : complex pattern

标签 ruby regex

我有许多可能的标题模式,我想使用 Ruby regexp 捕获这些模式。

  1. 只是标题
  2. 忽略 |要捕获的标题
  3. 忽略/要捕获的标题
  4. [忽略]要捕获的标题

如何将其放入一个正则表达式模式中?

这个方法只处理第二种情况:

  def self.format_title(title)
    title.match(/(?:.+)\|(.+)/).to_a.first.strip
  end

最佳答案

你的代码可以改写成:title[/\|(.+)/),1].strip

对于所有四种情况,我建议使用 gsub:

def format_title title
    title.gsub(/.+[\|\/]/,'').gsub(/^\[.+\]/,'').strip
end

关于 ruby 正则表达式 : complex pattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4773531/

相关文章:

ruby - 使用 Mechanize 记录 GET 请求 URL

ruby-on-rails - ActiveRecord 可以调用 native 数据库函数吗?

java - 将字符串变量的内容分成两部分

r - 使用 data.table 提取指定关键字之间的字符串的第一个实例的最佳方法

java - 如何在 Java 中查找多个模式(使用 Matcher)

ruby - 如何解决权限被拒绝@rb_sysopen

ruby - Nokogiri 在函数中抛出异常但不在函数外

Python-从字符串中提取文本

ruby - 如何在 Rack 应用程序的集成测试中启用中间件?

regex - 正则表达式以获取字符串的开始和结束匹配