【问题标题】:How do I match string till end of text file?如何匹配字符串直到文本文件结尾?
【发布时间】:2011-11-07 09:13:22
【问题描述】:

在这行代码中,我希望它匹配从“Review Notes\50optional\51”到文本文件末尾的字符串。我该怎么做?

reviewNotes = contents.match(/Review Notes \50optional\51\n==================(.*?)/m)[1].strip

【问题讨论】:

    标签: ruby regex string-matching


    【解决方案1】:
    Review Notes \50optional\51.*$
    

    【讨论】:

    • 不应该转义反斜杠吗?或者 Ruby 是否检测到这个反向引用不存在并按字面意思对待它?此外,$ 始终匹配行尾,而不是 Ruby 中的文件尾。没有多行模式(/m 在 Ruby 中,/s 在其他正则表达式中)。
    • @Tim,也许\50 是八进制?如果不是,它应该被转义。
    • 是的,这些是括号的八进制代码。谢谢,你的回答有效!
    【解决方案2】:
    if subject =~ /Review Notes \\50optional\\51.*\z/m
        match = $&
    else
        match = ""
    end
    

    【讨论】:

      最近更新 更多