'MN+WI'たとえば、URL の末尾にあるような値を照合しようとしています/foos/MN+WI。このパターンは、 rubular.com では[a-zA-Z][\+\,]?一致結果を生成しますが、IRB では次のようになります。MN+WI
s="MI+WI"
p="[a-zA-Z]{2}[\+\,]?"
r=Regexp.new(p)
r.match(s) # => #<MatchData "MI+">
Ruby コンソールでの動作は、私が Rails で遭遇したものと一致しています。両者に違いはありますか?正規表現パターンを調整するにはどうすればよいですか?
$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0]
$ rails -v
Rails 4.0.0
** 編集 **
元のパターンは だったはず[a-zA-Z]{2}[\+\,]?です。
ルートにこれらのバリエーションのいずれかを認識させ、それをパラメーターに割り当てるために本当に必要なもの:
MN(働く)mn(働く)MN+WI(動作していません)MN+WI+IA( で区切られた 2 文字の値の任意の数+)- 1 つまたは 2 文字を超える値には一致しません
ABCが (例: )、2 文字の値は保持します (例ABC+MN: keepMN) 。