タグ

ブックマーク / qiita.com/zakuroishikuro (2)

  • なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ - Qiita

    rex = /ごにょごにょ/ p "東京都文京区後楽1丁目3−61".match(rex).captures #=> ["東京都", "文京区", "後楽1丁目3−61"] みたいなやつ。なるべく短く。 実用性? そんなもの、うちにはないよ。 TL;DR 「読むのめんどくさい」という人用に最初に最終結果を置いておきます (...??[都道府県])((?:旭川|伊達|石狩|盛岡|奥州|田村|南相馬|那須塩原|東村山|武蔵村山|羽村|十日町|上越|富山|野々市|大町|蒲郡|四日市|姫路|大和郡山|廿日市|下松|岩国|田川|大村)市|.+?郡(?:玉村|大町|.+?)[町村]|.+?市.+?区|.+?[市区町村])(.+) あまり厳密ではないのでちゃんとしたとこでは使わないほうがいいです 住所データを用意する 郵便局からデータをダウンロードしておく。一ヶ月毎に更新されている。 → 郵便番号データ

    なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ - Qiita
    mitukiii
    mitukiii 2016/02/01
  • %%%%%%%%%%%%%%% == 空文字列 - Qiita

    Rubyで%%%%%%%%%%%%%%%を実行すると空文字列("")が得られる。 ちなみに%の数は15個。 他の数のときは? %を1つずつ増やしてevalさせてみると、最初は3つの時に空文字列を得られた。 以降は4ずつ増えたときにも得られる。 数が違うとSyntaxError。 def eval_p(n) eval "%" * n rescue SyntaxError end (1..100).select{|n| eval_p n } #=> [3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99] # 最初だけ3、以降は4ずつ増えてる (1..100).map{|n| eval_p n }.compact #=> ["", "", "", "",

    %%%%%%%%%%%%%%% == 空文字列 - Qiita
    mitukiii
    mitukiii 2015/02/23
  • 1