作者: Bunta
日時: 2008/9/17(01:22)
 リテラルな']'なのですが、キャラクタークラス内で否定するということは
出来ないものなのでしょうか。ここで否定できないと、きっとPerlが必要に
なってしまうような気がする…。regex engineに依存するのでしょうか。

>echo  [TSfree:13] Re: 便利なメーラは?|mbsed "s/^[^\]]*\] //"
						 ^^^^^
 これは実験なのですが、']' の後の半角スペースまでを削除して、発言タイト
ルを抽出しようとしています。ですから、']' が出現しない文字列(キャラクタ
・クラス内での否定です) + ']' + ' '(半角スペース)という正規表現がマ
ッチしたら削除と書いたつもりだったのですが、ここでマッチに失敗しているよ
うなのです。sed は全滅。他のスクリプト・ツールは試せていません。

>echo ] |sed -n "/\x5D/p"

 うーん、これも駄目なのかぁ。'['  や ']' を否定したいときにはどうすれば
よいのでしょう? ご存じの方にお教えいただくわけにはいかないでしょうか。

 とりあえず、sed の正規表現というのが試しやすくて分かりやすい環境にいま
す。
 (ここでは誰も興味ないと思いますが)Vz 用正規表現エンジンの vwx は、な
んと '[^\]]' を理解してくれるのです。たぶん書いたのは、今、生まれて初め
てなのですけれど。

Bunta