Ruby中的RegEx帮助

1 ruby regex

我的示例文件如下所示:

H343423     Something1          Something2                                                
C343423              0   
A23423432     asdfasdf sdfs 
#2342323
Run Code Online (Sandbox Code Playgroud)

我有以下正则表达式:

if (line =~ /^[HC]\d+\s/) != nil 
  puts line
end
Run Code Online (Sandbox Code Playgroud)

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

我想要的输出是:

H343423
C343423
Run Code Online (Sandbox Code Playgroud)

输出我的RegEx得到的是:

H343423     Something1          Something2                                                
C343423              0   
Run Code Online (Sandbox Code Playgroud)

所以它取整行,但我只是希望它在读取第一个单词后停止.

有帮助吗?

YOU*_*YOU 5

if (line =~ /^([HC]\d+)/)
  puts $1
end
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅

如果您不想使用括号,匹配项$&的特殊变量

以下也会这样做

if line =~ /^[HC]\d+/
  puts $&
end
Run Code Online (Sandbox Code Playgroud)