帮助使用正则表达式捕获一行中的所有内容

时间:2011-05-24 19:34:59

标签: ruby regex

我想知道是否有一个特定的正则表达式我可以编写以检索行开头的“Log1:”后面的任何信息。这是我到目前为止所尝试的:

^Log1: ([\w|\s]*)$

但这仅在有单词和空格时才有效,我希望它能够检索后面的任何内容..除了新行字符或在写作中没有真正使用的字符。

  

Log1:这里重要的东西
  Log1:它可以有(),[]。

任何帮助表示感谢。

3 个答案:

答案 0 :(得分:7)

^Log1: (.*)$

.匹配任何字符。

答案 1 :(得分:0)

您可以尝试这样的事情:

s.split(/^Log1: */)[1]

如果没有前导nil,则返回Log1,否则返回其余部分。如果该行包含您不想要的终止字符:

s.split(/^Log1: */)[1].chomp

答案 2 :(得分:0)

是否要阅读日志文件中的所有行,或者是否有一些不以Log1:开头?如果是前者,我只会做line[7..-1]