Yash 2 その 129
わざわざ正規表現に変換するくらいなら最初から fnmatch しろよという声もあるやもしれぬが、そうはいかない。
第一に fnmatch では大文字小文字を区別しないマッチングができないので、nocaseglob オプションに対応できない。第二にバグ 18126 を解決するにはマッチングの前にパターン内のバックスラッシュを自前で処理しないといけないので、結局何がしかの形でパターンの変換は必要となる。
他のシェルの実装を見てみると、glob/fnmatch は自前で実装しているものが多く、直接これらのライブラリ関数を使っているものは少ない。しかし自前で実装しているものは [[.a.]]
のようなあまり使われないパターンに対応しきれていない。
| 固定リンク
コメント