タグ

regexに関するkyouzontのブックマーク (7)

  • 手を動かしながら覚える正規表現<基礎入門編>

    正規表現というと、便利そうなんだけど読み方がわからないし、わけのわからない記号が並んでいてあまり近づきたくないという人もいると思います。ネット上のサンプルを見ると記号がたくさん並んでいて取っつきにくそうな雰囲気があって、中には魔法の呪文だろうこれはと言いたくなるようなものもあります。しかし、普段使うような正規表現は少しのルールを覚えるだけでたいてい読めるようになります。簡単なものであれば、慣れてしまえば一瞬で読めるようになりますし、慣れないうちでもルールに沿って読んでいけば何が書いてあるのかは意外と簡単に読めるものなのです。 このページでは、基的な正規表現を紹介しています。説明を読むだけではなかなか覚えられないという方のために、実際に正規表現を入力して動作を確認できる練習問題も用意しています。 正規表現は一度しっかり覚えてしまえば二度と忘れることはありませんので、ぜひここで確実に身につけ

    kyouzont
    kyouzont 2012/04/22
    サイト内で試せるので便利。
  • 可変長テキストの戻り読み - 考える人、コードを書く人

    なんだか最近、正規表現ネタが多い気がするが、仕事では当によく使う*1ので、 必然的にそんな話が多くなってしまうのかもしれない。 そして平日の昼間は+とか*とか(?<=)とか(?:)みたいな記号が僕の頭の中を駆け巡っていたりする。 いや、もちろんそんなことばっかりやってるわけじゃありませんが。 文字列を指定の位置に挿入する Perlやその他巷でよく使われている(?)言語に搭載されている正規表現エンジンには 文字列の指定の位置に文字列を挿入するために、先読み(?=)と戻り読み(?<=)の機能がある。 この2つは指定した文字列自体ではなく、文字列の位置にマッチする。 例えば、次の場合、$strの中身はabcdefghiとなる。 <?php $str = 'abcghi'; $str = preg_replace('/(?<=abc)/', 'def', $str); ?> しかし、次のように可

    可変長テキストの戻り読み - 考える人、コードを書く人
    kyouzont
    kyouzont 2012/04/22
    なるほど。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Boost.Regexを使ってみる(1)

    今回はMinGW環境下でBoost.Regexを使ってみます。 Boost.Regexはテンプレートだけではなく、ライブラリを必要としますのでリンクでregexのライブラリをリンクする必要があります。 コンパイルとリンク ヘッダファイルのインクルード Boost.Regex を利用する場合は、boost/regex.hpp をインクルードする必要があります。 ソースに以下のように記述します。 #include <boost/regex.hpp> インクルードパスの設定 コンパイルする際、インクルードパスを設定します。 「Boostのインストール」で説明した方法でインストールした場合、 インストール先のフォルダ下のinclude\boost-1_33_1\boost の下にヘッダファイルが生成されています。 Boostのヘッダファイルの #include の記述は #include <boo

  • 正規表現ライブラリ boost::xpressive を使う - 日記を書く [・w・] はやみずさん

    kinabaさんとこでboost::xpressiveを知ったので、早速ネットワークプログラミングのほうで使ってみたらなかなかよい感じ。 Boost.Regex++ と比較して、ヘッダのみで構成されている(ライブラリのリンクが不要)という点が気楽に使う向きにはありがたいのですが、何よりイカれているすばらしいのはテンプレートと演算子オーバーロードの黒魔術によって、 目的のパターンマッチを行う有限状態機械を、C++ ソースのコンパイル時に生成してしまう静的正規表現なのです。 Boost.Xpressive, 初音ミクの10倍高い機械に「GO MY WAY!!」を歌わせてみた(おまけつき) - underscore.jp/diary(2007-09-27) すげぇ。 以下使う方法を適当に。 はじめに Ubuntuな人は apt-get install libboost-* でおk。必要ないパッケ

    正規表現ライブラリ boost::xpressive を使う - 日記を書く [・w・] はやみずさん
    kyouzont
    kyouzont 2011/10/29
    boostの静的正規表現"set"を使う際に、std名前空間をusingしていると衝突がおこるので、その場合はboost::regex::setとすること。
  • Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP

  • 株式会社エス・スリー・フォー » 正規表現ライブラリ ‘Boost Regex++’ の使い方

    正規表現ライブラリ ‘Boost Regex++’ の使い方 ‘webを介したプログラムの実行’というアプリケーションの新しい形態が現れ、perl,pythonなどに代表されるスクリプト言語がよく利用されるようになりました。スクリプト言語の多くはテキストすなわち文字列を扱うのを得意としています。 一方C++は文字列を扱うのがあまり得意ではありません。 最近になってようやく文字列を表現するクラスstd::basic_string が標準ライブラリに組み入れられました。 これによって文字列操作を頻繁に行い、かつ移植性の高いアプリケーションの実装がとてもやりやすくなりました。 しかしながら標準の文字列を手に入れたC++でもperlなどのスクリプト言語にかなわないことの一つが’正規表現(regular expression)’です。 たとえばWebの自動巡回を行うアプリケーションを考えてみましょう

  • 1