私はIRC PARTメッセージを一致させるためにキャプチャするために、次の正規表現を使用しています:正規表現のキャプチャ文字列で使用した場合のSQLite SELECTはRubyで動作していないが、文字列で動作しますリテラル
:(?<nick>[a-zA-Z\d<\-\[\]\\^{}_]+)!(.+)@(.+) PART (?<chan>[#&][^\x07\x2C\s]{0,200}) :(.+)
それは正しくグループと一致し、キャプチャ
part_regex.match resp do |m|
puts "#{m[:nick]} has parted."
puts db.execute("SELECT * FROM users WHERE nick = ?", m[:nick])
end
最初puts
作品を、そして正しい文字列を出力します、このコードが実行されるためとき。しかし、2番目のputs
は何も出力しません。私はニックのキャプチャがテーブルに存在することを知っています。 m[:nick]
の代わりにリテラル文字列を使用するときはいつでもうまく動作します。私はデータベースを操作するためにsqlite3-ruby Gemを使用しています。
>> :[email protected] PART #testing :mark
mark has parted.
レコードを選択する代わりに削除し、レコードが削除されているかどうかを確認してください。 – user482594
@ user482594それでもうまくいきません。 –
私は#queryを使用するとうまくいくと思いましたが、まだそれはありません。 –