タグ

Perlと正規表現に関するryskosnのブックマーク (3)

  • Perlの正規表現で文字の抽出

    $1が文字化けする件に関して。 それは、日語の半分(半角英数分のデータ)しか取り出していないからです。正規表現は日語用に作られていないので、全角文字も半角英数として文字を処理するはずです。 $t="あいう"; @a=split(//,$t);#あいうを一文字ごとに区切り、配列にする foreach(@a){print $_,"\n";} を実行すれば分かります。全て文字化けし、ループは6回繰り返されます。(全角3文字=半角6文字) 一応あれは【】の中身を取り出すことのみを考えたものだったので、以下のようにすれば何とかなります。 $text='あは【件名】文'; $text=~s/(.*)(\【.+?\】)(.*)/$2/; print $text,"\n"; あは、を取り出したいなら2行目の$2を$1に。文、を取り出したいなら$3に書き換えてください。正常に出来ると思われます。 ち

    Perlの正規表現で文字の抽出
  • ブログが続かないわけ | Web::Scraper 使い方(超入門)

    3年前にこのに出会って、僕はスクレーピングの虜になった。 おかげで正規表現をたくさん書く機会が得られたし、CPANのモジュールともたくさん触れ合うことができたし、さらに自分自身でも構造化されたHTMLを書く習慣も身についた。 ただ、やっぱり、スクレーピングは簡単ではない部分もたくさんあると思う。文字コードについても意識しなければならないし、なにより正規表現で必要な部分を抽出することそのものが結構骨のいる作業だ。HTML::TreeBuilder を使った方がいいのか、それとも正規表現だけでやったほうが楽なのか。そんなことを考慮しながらコーディングして行く。そこがスクレーピングの楽しいところでもあるのだが、そこがスクレーピングの敷居を高いものにしていることも否めない。 そんな、愛らしくもあり憎たらしくもあるスクレーピングを簡単にやってしまうのがこのモジュール、Web::Scraper だ。

    ブログが続かないわけ | Web::Scraper 使い方(超入門)
  • Perlの正規表現をマスターしよう - Perl入門ゼミ

    Perl › 正規表現 Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]

    Perlの正規表現をマスターしよう - Perl入門ゼミ
  • 1