そんなに用途は無いと思うんですが、PHPのpirntf構文やsprintf構文のフォーマットから変換指定子(%sや%d等)を抜き出す正規表現を書いてみました。

/(?:^|[^%])%(?:[0-9]+\$)?(?:[\+\-]?(?:0|\'[^%])?[\d]*?(?:\.\d+)?)?[bcdeEufFgGosxX]/u

preg_match_allなどで利用すれば、変換指定子が何個使用されているかなどを調べることができると思います。

用途

プログラム中でprintf構文に必要とされる引数の数を調べなくてはならなくなり、下記のような関数を作って利用しています。

function _argAmount($pattern)
{
	preg_match_all(
		'/(?:^|[^%])%(?:([0-9]+)\$)?(?:[\+\-]?(?:0|\'[^%])?[\d]*?(?:\.\d+)?)?[bcdeEufFgGosxX]/',
		$pattern,
		$matches
	);

	$count = 0;

	if (!empty($matches[1])) {
		$filtered = array_filter($matches[1]);
		$max = max($filtered);
		$empty = count($matches[1]) - count($filtered);
		$count = ($max > $empty) ? $max : $empty;
	}

	return $count;
}

各種WEBアプリのバージョン管理にWindows版のGitを利用しています。

しかしながら、このGitをインストールしてからというものの、コマンドプロンプトのフォントがMSゴシックからLucida consoleに変わってしまって、微妙に使いづらい。コマンドプロンプトのフォント設定を直しても、フォルダの右クリックして「Git bash here」を実行しても元に戻っている始末。

というわけで、レジストリをいじってフォント設定を変更しました。
当該のレジストリ、

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont

を開いて、内部にある

0   REG_SZ  Lucida Console

の値を削除。

これでめでたくコマンドプロンプトがMSゴシックで表示されるようになりました。

Git

http://code.google.com/p/msysgit/

MovableTypeでエントリーの概要文のみを表示する方法

MovableTypeでエントリーの概要文を表示する際は、<$mt:EntryExcerpt$>を利用します。

ただ、このタグは概要文が存在しない場合は本文の最初200文字を表示してしまいます。
この場合、日本語のドキュメントには表記してありませんが、下記のオプションを利用することで概要文が存在する場合のみ表示し、存在しない場合は本文の引用を行わないようになります。

<$mt:EntryExcerpt no_genarate="1"$>

MovableTypeは日本語ドキュメントが充実していないので、こういった便利な機能が探さなければ出てこない不便さをなんとかして欲しいですね。