タグ

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

  • 正規表現 | C言語リンク集

  • regex.hの使い方

    C標準ライブラリには正規表現関連の機能は含まれていないので、C言語で正規表現を扱うには何らかのライブラリを利用する必要があります。ここでは、POSIX準拠のregex.hの使用方法を解説します。 UNIXライクなOSなど、POSIX準拠のシステムであれば使用できるはずです。このページのサンプルの確認には、LinuxまたはFreeBSDとgccを使用しています。 使用方法 POSIX正規表現のいくつかの例 コード例と若干の解説 実践的なコード例 使用方法 regex.hでの正規表現の基的な使用方法を簡単に述べると、次のようになります。 regcomp()で正規表現パターンをコンパイル regexec()で実行 regfree()で正規表現パターンバッファを解放 多少面倒なように見えますが、正規表現ライブラリとしてはごく一般的な手順です。正規表現による検索処理の前に正規表現の文字列をコンパイ

  • C言語で正規表現を使ってみた

    const char *re = "(.*)/(.*\\.log)"; // 正規表現 regex_t regexBuffer; // コンパイル後の正規表現を格納する型 regcomp( &regexBuffer, re, REG_EXTENDED | REG_NEWLINE ); // コンパイルする regexec関数で実行するregexec関数の引数は順に、 コンパイル済の正規表現 対象の文字列 結果の数 結果を格納する構造体regex_tの配列 オプションを取る。 結果の数は、全体のマッチ+グルーピングの数を指定することに注意。ここでは3つ。

    C言語で正規表現を使ってみた
  • 使うほどに良さが分かる正規表現(1/2)

    最初は訳が分からないが、慣れると大変重宝する。ある意味UNIXの象徴ともいえるのが「正規表現」だ。正規表現をすべて究める必要はないが、知っていると便利なことが多い。 正規表現ってナニモノ? 正規表現というと何やら難しそうですが、要するに文字列を指定する方法です。Windowsではファイル名を指定するとき、複数の文字と一致する「*」、任意の1文字と一致する「?」が使えます。例えば、「拡張子がwavのファイル」だったら「*.wav」とするわけです。Windowsでは、この「*」や「?」を「ワイルドカード」と呼んでいます。これを強化したものが正規表現だと考えればいいでしょう。ただし、柔軟な指定が可能な分だけ複雑になっています。 正規表現を覚えるとどんなときに便利なのか、簡単な例を挙げてみましょう。例えば、きれいに整形されてインデントの付いたテキストファイルをHTML化したいとしましょう。そのまま

    使うほどに良さが分かる正規表現(1/2)
    uesima
    uesima 2015/03/22
  • 【5分で覚えるIT基礎の基礎】ゼロから学ぶ2進数 第1回

    矢沢久雄 今回の連載では「2進数(にしんすう)」を取り上げます。コンピュータが使う2進数を学んで,コンピュータへの理解を深めることが目的です。 「いまさら2進数なんて・・・」――そんな声が聞こえてきそうです。確かに2進数を知らなくても,コンピュータを使う上で困ることはありません。でも,2進数を知ることで,コンピュータにより親しみを感じることができるでしょう。 「0と1だけで数値を表す方法だろ,知ってるよ」――そうおっしゃる人もいるでしょう。それでは質問です。なぜコンピュータは2進数を使うのでしょうか。2進数でマイナスの数を表すにはどうしたらよいでしょうか。小数についてはどうでしょう。コンピュータはこれらの値を,2進数でどのように記憶しているのか,演算しているのかをすぐに答えられますか? 10進数(じゅっしんすう)を日ごろ意識することなく使っている私たちにとって,2進数はなかなか奥が深いもの

    【5分で覚えるIT基礎の基礎】ゼロから学ぶ2進数 第1回