私は非常にシンプルな正規表現のタスクを持っていて、混乱してしまいました。文字列が11桁であることを確認したいだけです。私がこれに使用した正規表現は/\d{11}/
です。私が理解しているのは、正確に(それ以上でもなくても)11個の数字がある場合(これは明らかに私の理解が間違っている)、これは一致を与えるということです。ここでなぜこのルビー正規表現は機能しませんか?
はIRBで何が起こるかです:私は、11桁の文字列と10桁の文字列のための適切な不一致のための適切なマッチを取得しながら、
ruby-1.9.2-p136 :018 > "33333333333" =~ /\d{11}/
=> 0
ruby-1.9.2-p136 :019 > "3333333333" =~ /\d{11}/
=> nil
ruby-1.9.2-p136 :020 > "333333333333" =~ /\d{11}/
=> 0
だから、私は12の試合を取得しています数字の文字列!私は/\d{11,}/
がこれを行うための正規表現だと思っていただろう。
誰かが私の誤解を説明できますか?
本当にありがとうございます。私は推奨された読書をして、さらに良い正規表現は/ \ A \ d {11} \ Z /であることに気がついたが、それはちょっとしたことだ。 – brad
@brad True。 '\ b \ d {11} \ b'はまだ別の方法です。 –