]
トップ «前の日記(2010-04-13) 最新 次の日記(2010-04-15)» 編集

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2010-04-14 [長年日記]

_ POSIXの正規表現

Linux上で、正規表現を扱うのに、libboostがいるのかいなあと思いきや、"man 7 regex"にあるように、POSIXで定義された正規表現を利用できる。"man 3 regex"を見ると良い。

日本語の文字を扱う場合には、エンコードを扱えないと予期している結果と異なる答えが返ってくるかも知れないので、どの範囲(文字集合)で使う必要があるかは、使う方が気に掛けておかないといかんのでしょうねえ。

参考としては、(http://sometime.minidns.net/programming/c/posix_regex.html)が良さそうである。

最初に例示してある例を、regex-test.cとして、ファイルを作成しコンパイルしてlddを取った結果は

$ gcc -Wall -o regex-test regex-test.c
$ ldd regex-test
	linux-gate.so.1 =>  (0xb7ee7000)
	libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7d71000)
	/lib/ld-linux.so.2 (0xb7ee8000)
$
です。実施した環境は、Debian GNU/Linux lenny です。

ちなみに grep の -E オプションで拡張正規表現を利用できるが、この拡張正規表現は、dfa.c に定義してあるのを参照すると POSIX のライブラリじゃなくて、GNU が自前で作っています。POSIXのregexを利用していません。

_ [CentOS] Emacs21 から Emacs23 に乗換え

[CentOS][Emacs] CentOS5.4 と ECB-2.40の続き。(1)ECBの挙動がどうにも、気に入らない。(2)FontがEmacs23の方が断然きれい。(3)SRecoderの機能が、Emacs21では出現しなかった。(4)ECBのプロジェクト(Project.ede)の挙動がEmacs23の方がわかりやすそう。などの理由で、Emacs21は yum remove emacs\* で消して、(http://d.hatena.ne.jp/totemn/20091025/p1)を参考に Emacs23 を入れる。

おかげさまで、ずいぶん使いやすくなりました。

すこし、おやっと思った場所は。emacs21でecbをインストールしていたので、make cleanしてから、もう一度 make EMACS=/usr/bin/emacs-23.1 CEDET=../cedet-1.0pre7 とすればインストールできるのかと思いきや、"c:/Programme/emacs-23.1/site-lisp/package/development/ecb"とかエラーメッセージがでてくるので、make cleanが十分じゃないと判断して、いちどソースツリーを削除して、再度ファイルから再展開するとokでした。