流れる正規表現の違いは何ですか:
HEAD|GET
, (HEAD|POST)
& [HEAD|POST]
?
基本的には、HEAD または POST の後に番号を抽出したいと考えています。
irb(main):001:0> "This is HEAD and a POST".match("HEAD|POST")
=> #<MatchData "HEAD">
irb(main):002:0> "This is HEAD and a POST".match("(HEAD|POST)")
=> #<MatchData "HEAD" 1:"HEAD">
irb(main):003:0> "This is HEAD and a POST".match("[HEAD|POST]")
=> #<MatchData "T">
irb(main):004:0> "This is HEAD 1 and a POST 2".match("[HEAD|POST] (.)")
=> #<MatchData "D 1" 1:"1">
irb(main):005:0>
最後の正規表現は、「POST」の後の「2」と一致しませんでした。なんで?また、なぜ「D 1」が一致しているのですか?