1

このコードが文字列内のパターンを見つけられない理由がわかりません。ファイルを開き、ファイルの各行を読み取り、「/t」で分割してから、パターンを見つけようとします。しかし、それは見つかりません。入力ファイル:

1553338_at/C1orf55  225142_at/JHDM1D    0.9075880395022964  
1553338_at/C1orf55  230778_at/---   0.9133682114964662

コード:

input=File.open("/lalal/lalal.txt","r")

input.each{|line|

    keys=line.split("\t")
    puts(keys[1])

    a=/---/.match(keys[1])
    puts(a.class)    

}

出力:

225142_at/JHDM1D
NilClass
230778_at/---
NilClass

"---"で見つからない理由がわかりません230778_at/---か?前もって感謝します

4

2 に答える 2

1
- 

正規表現の予約記号です。使用する

\-

さらに良いことに、マッチラインを

a = /\-{3}/.match(keys[1])
于 2013-05-23T13:33:50.253 に答える