0

テキスト ファイル名 (例: name.txt) で検索したい。preg_match_all() で使用する正規表現を教えてください。いくつかの正規表現を作成します:

preg_match_all("/^[a-zA-Z0-9_.]+[.][a-zA-Z0-9]{1,3}$/", $string, $w);

ただし、常に空の結果が得られます。

4

1 に答える 1

0

正規表現でこれらの記号 (^ と $) を削除するだけです

これは私のために働く:

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 ) ) 
于 2012-07-05T19:04:08.323 に答える