Ruby on Railsエンジニアのマスタカです
正規表現書いたらバグを仕込んだのでその話
・環境
rails 5.2.4.1
・コード
改行があると最後の行しか見てない模様
これどハマりした
a = "masterka" a.match?(/^\w*$/) => true a = "bbbb\ncccc" a.match?(/^\w*$/) => true a = "bbbbあ\ncccc" a.match?(/^\w*$/) => true #本当はfalseになってほしい a = "bbbbあ\nccccあ" a.match?(/^\w*$/) => false
・正しくは
a = "bbbbあ\ncccc" a.gsub(/(\r\n?|\n)/, '').match?(/^\w*$/) => false
正規表現はちゃんとテスト書かないと大変なことになりますね