テキスト ファイル名 (例: name.txt) で検索したい。preg_match_all() で使用する正規表現を教えてください。いくつかの正規表現を作成します:
preg_match_all("/^[a-zA-Z0-9_.]+[.][a-zA-Z0-9]{1,3}$/", $string, $w);
ただし、常に空の結果が得られます。
テキスト ファイル名 (例: name.txt) で検索したい。preg_match_all() で使用する正規表現を教えてください。いくつかの正規表現を作成します:
preg_match_all("/^[a-zA-Z0-9_.]+[.][a-zA-Z0-9]{1,3}$/", $string, $w);
ただし、常に空の結果が得られます。
正規表現でこれらの記号 (^ と $) を削除するだけです
これは私のために働く:
preg_match_all("![a-zA-Z0-9_.]+[.][a-zA-Z0-9]{1,3}!", $string, $w);
^ - 文字列の先頭に一致します。
$ - 文字列の末尾に一致します。
ファイルをテキストに配置する場合は、この記号を省略できます。
あなたが書いたものは1〜3文字で構成される拡張子を持つファイルを見つけるため、次のreg表現を使用しますが、通常、拡張子には3文字が含まれます(.doc、txt)
これが実際の例です:
$string=" some text name.txt some text hello.doc";
preg_match_all("![a-zA-Z0-9_.]+[.][a-zA-Z0-9]{3}!", $string, $w);
print_r($w);
出力:
Array ( [0] => Array ( [0] => name.txt ) )