CodingFirst

C言語、Perl、JavaScript、最近はPythonも。出来上がったものより、プログラムを書くことが好き。あと、スイーツ。

スポンサーサイト

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

C言語で正規表現 - PCRE編

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

C言語で正規表現、第2弾。PCREを使ってみた。

PCREは perl5コンパチな正規表現ライブラリ。
前エントリのコメントで教えていただいたんで早速。

PCRE - Perl Compatible Regular Expressions

libpcre.a はすでに入ってたので、apt-getで libpcre3-dev だけ入れた。
以下、gistに貼ったpcreを使ったサンプルコード。

動作例。svn infoの Revision: の番号を取得するサンプルです。

$LANG=c svn info http://svn.apache.org/repos/asf/subversion/trunk > info.txt
$ cat info.txt |./pcre-eg.c 
1243564$

あっけないほど簡単で、使いやすい。便利だ。
これなら LL系に弱い人にも使いこなせる気がする。

例えば、svnのリビジョン番号のファイルを作成したいとき、

touch r`LANG=c svn info|grep '^Revision:'|cut -d ' ' -f 2`.log
とか、
touch r`LANG=c svn info|perl -ne 'print $1 if(/^Revision: (\d+)/)'`.log

とかワンライナーで書くけど、
grepってなんすか?な人は意外に多いし、
perlは読めないんで!と断られたりもするけど、
みんな大好きc言語だよ!なら受け入れられそう。

touch r`LANG=c svn info|../pcre.c`.log

と、こんな感じかな。


詳説 正規表現 第3版詳説 正規表現 第3版
(2008/04/26)
Jeffrey E.F. Friedl

商品詳細を見る

«  | HOME |  »

Search

Recent Entries

Foot Print



Categories

Monthly

Recent Comments

Recent Trackbacks

Profile

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。