Ruby中的RegEx帮助

时间:2010-05-19 01:47:47

标签: ruby regex

我的示例文件如下所示:

H343423     Something1          Something2                                                
C343423              0   
A23423432     asdfasdf sdfs 
#2342323

我有以下正则表达式:

if (line =~ /^[HC]\d+\s/) != nil 
  puts line
end

基本上我想阅读以H或C开头的所有内容,后跟数字,我想在遇到空格时停止阅读(我想读一个单词)。

我想要的输出是:

H343423
C343423

我的RegEx得到的输出是:

H343423     Something1          Something2                                                
C343423              0   

所以它取整行,但我只想让它在读完第一个单词后停止。

任何帮助?

1 个答案:

答案 0 :(得分:5)

if (line =~ /^([HC]\d+)/)
  puts $1
end

有关详细信息,请参阅

如果您不想使用括号,匹配项$&

有特殊变量

以下将做同样的

if line =~ /^[HC]\d+/
  puts $&
end