2015年10月22日のブックマーク (3件)

  • 正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) - satosystemsの日記

    自分のためにメモ。 (肯定|否定)(先読み|戻り読み)、覚えづらい。 正規表現 パターン(boost::regex) 説明 肯定先読み (?=regex) regex に一致する文字列が始まる位置にある検索文字列と一致する。一致した文字列は記憶されず、後で使用することはできない。 たとえば "Windows (?=95|98|NT|2000)" は、"Windows 2000" の "Windows" には一致するが、"Windows 3.1" の "Windows" には一致しない。 先読み処理では、読み進まれた文字は処理済みとは見なされない。一致の検出後、次の検索処理は先読みされた文字列の後からではなく、一致文字列のすぐ後から開始される。 否定先読み (?!regex) regex に一致しない文字列が始まる位置にある検索文字列と一致する。一致した文字列は記憶されず、後で使用することは

    正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) - satosystemsの日記
    tana005
    tana005 2015/10/22
    肯定先読みってのがわかった。正規表現。
  • GPソフト Wiki - Rubyでhttpとスクレイピング

    仕事で、Webサイトを自動巡回するプログラムを書くことがあり、rubyでのhttp通信やスクレイピングについて調べました。そのイロハをメモっておきます。 ruby Ruby 1.9.3を使います。 C:\WINDOWS\system32>ruby --version ruby 1.9.3p194 (2012-04-20) [i386-mingw32] Net::HTTPとURIライブラリ http通信には、標準ライブラリのNet::HTTPを使います。このライブラリのインターフェイスは盛り沢山で、GETやPOSTリクエストを送る方法が何通りもあります。 クラスメソッドのget クラスメソッドのget_response クラスメソッドのpost_form インスタンスメソッドのget インスタンスメソッドのpost インスタンスメソッドのrequest インスタンスメソッドのrequest_

    tana005
    tana005 2015/10/22
    nokogiriとpostリクエストとの組み合わせが書いてある。東証のサイトから銘柄情報、過去2ヶ月の日足が取れる。
  • 欲張り正規表現 - Atzy->getLog()

    分かっているようで分かっていない正規表現の欲張り戦略。 欲張りとバックトラック 基的には正規表現(の実装)は欲張りです。できるだけ長い文字列をマッチしようと心がけます。しかし、それによってマッチに失敗しそうであったときにはしぶしぶ手放します。 と、これが何を意味するのか。 単純な例 正規表現 A* マッチ対象 AAAAAAAAAAAAAAAAAAAAA A*のマッチ箇所 AAAAAAAAAAAAAAAAAAAAA (全体にマッチする)A* というのは、0文字以上のAですから、AAAやらAやら、あるいはAの前の空の部分にさえマッチしますが、欲張って最大限にマッチしようとします。 少しだけ複雑に 正規表現 \w*\w マッチ対象 AAAAA \w*\wのマッチ箇所 AAAAA (全体) \w*のマッチ箇所 AAAA (4文字分)\w*\wという正規表現です。この場合は、\w*は1文字分だけ「

    欲張り正規表現 - Atzy->getLog()
    tana005
    tana005 2015/10/22
    正規表現のバックトラックってのを初めて知った。