PHP:在文本中查找带扩展名的所有文件名

时间:2012-08-07 08:18:33

标签: php regex

我正在尝试在文本中找到带扩展名的所有文件名。 例如:

<roottag>
 <step>first element using file_text.txt</step>
 <step>server.sql</step>
 <step>using another.txt file</step>
 <txt> elements other.this </txt>
</roottag>

我想提取所有带扩展名的文件名:

file_text.txt
server.sql
another.txt
other.this

您对preg_match_all有什么想法吗?

提前致谢

克里斯

2 个答案:

答案 0 :(得分:4)

$preg = '/(\w+\.\w{2,4})/';
preg_match_all($preg, $text);

答案 1 :(得分:0)

preg_match_all('/[a-z_]+\.[a-z]{2,4}/', $string , $arr, PREG_PATTERN_ORDER);

会匹配你的字符串$ string中的文件,并在$ arr。

中放置一系列匹配项

正则表达式字符串是/[a-z_]+。[az] {2,4} /并且它假定您正在搜索由可包含下划线的第一个字母字符串组成的文件,后跟一个点和一个可以最小2个字符长,最多4个字符长的扩展名。

您可以测试正则表达式字符串RegExp Tester

所以你可以在比赛中添加更多规则。