PHPのglob
はlimited-range of regex-like syntaxをサポートしているようです。globとほぼ正規表現
私はhello<somethingherebutonlyifitbeginsby#>.txt
をキャッチしたいと思い、すなわち:
- hello.txt:OK
- ハロー#のyou.txt:OK
- hellome.txt:OKではない
I試しました
glob('hello#?*.txt', GLOB_BRACE);
しかし、動作しません。どうすれば修正できますか?
'glob'は正規表現をサポートしていません。標準のコマンドラインワイルドカードをサポートしています。たとえば、 '。*'は任意の数の文字(正規表現)を意味するものではなく、リテラルドットの後に何かが続くことを意味します。 –
これは 'glob'では不可能なのでしょうか? – Basj
'hello * .txt'を参照して、望まないものをフィルタリングする方が簡単です。これは、hello.txtとhello#*。txtの2つのグロブです。以前よりパフォーマンスが高い。私は 'hello#*。txt'の検索を推測し、' hello.txt'が存在するかどうかを調べるだけですばやく別のオプションになります。 –