情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

ウェブ開発者なら必ず知っておくべき基礎知識(7)globパターン

globパターンとは1個以上のファイルのパスを纏めて表すためのパターンです。

パターンにおいてはパスの構成要素(/で区切られている部分)に対して下のような表記を使用します。

  • *は0文字以上の全ての文字列にマッチします。
  • ?は全ての文字(1文字の文字列)にマッチします。
  • 1文字以上の文字列を[]で囲んだ場合には囲まれている何れかの文字にマッチします。ただし、2つの文字が-で繋がれている場合には(文字コード上)左の文字から右の文字までの範囲の文字にマッチします。なお、囲まれている文字列に*?が含まれている場合にはそれらはその文字自体を表します。
  • 1文字以上の文字列を[!][^]で囲んだ場合には囲まれている何れかの文字以外の文字にマッチします。ただし、2つの文字が-で繋がれている場合には(文字コード上)左の文字から右の文字までの範囲の文字以外の文字にマッチします。なお、囲まれている文字列に*?が含まれている場合にはそれらはその文字自体を表します。
  • *?[の文字自体を表したい場合には代わりに\*\?\[を使用します。
  • 複数のパターンを|で区切り、!()で囲んだ場合には何れのパターンにもマッチしない文字列にマッチします。
  • 複数のパターンを|で区切り、@()で囲んだ場合には何れかのパターンにマッチする文字列にマッチします。
  • 複数のパターンを|で区切り、?()で囲んだ場合には何れかのパターンにマッチする文字列にマッチします。ただし、空文字列にもマッチします。
  • 複数のパターンを|で区切り、+()で囲んだ場合にはパターンの1回以上の繰り返しにマッチする文字列にマッチします。
  • 複数のパターンを|で区切り、*()で囲んだ場合にはパターンの1回以上の繰り返しにマッチする文字列にマッチします。ただし、空文字列にもマッチします。

また、下の表記はパスの複数の構成要素に跨ってマッチを行います。

  • パスの構成要素が**である場合には1個以上の全てのパスの構成要素にマッチします。
  • 複数のパスの一部を,で区切り、{}で囲んだ場合には何れかのパスの一部にマッチする文字列にマッチします。
pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-web