私はRuby on Rails 5.1を使用しています。 Rubyでは、最初の文字が何かにマッチするが、後続のシーケンスがパターンにマッチしない場合に、文字列にマッチさせたいとはどうすればいいですか?つまり、配列の次の配列が配列の文字ではなく、他の2つの配列が続くことを条件として、数値と一致させたいと思います。ここに私の文字列...Rubyでは、文字に続くシーケンスがパターンと一致しないという条件で、文字と一致させたいと指定するにはどうすればよいですか?
2.4.0だ:010>トークン => [ ":" ""、 "'"]
ので、この文字列が一致しません
3:00
":00"は配列の文字のパターンに2つの数字が続くためです。しかし、この文字列
3400
は一致します。この文字列はまた
3:0
にマッチしますし、何も上記に続かないので、これは
3
にマッチします。 Rubyに適切な正規表現を書くにはどうすればいいですか?
質問は多少あいまいでした:「私は**数字に**一致したい、後には一致しません...」。あなたの抽象化では、 "数"は* 1桁*であると仮定していますが、単一正規表現の方がより一般的です。 –
例えば、あなたのメソッドは '10:00' **のような文字列が**一致しないようにするためにはうまくいきません。可能ですが、IMOは単なる正規表現を実行するよりも混乱します! 'match_it?(" 10:00 "、/ \ d /、/ \ A \ d *:\ d + \ z /)' –
@Tom、あなたはおそらく正しいでしょう。私は質問の文字通りの解釈を取ったが、それを再読みすると、それは内部的に矛盾しているのが分かる。 "少し曖昧な"?主はいつもとても優しいです。 –