php - preg_match 获取包含 123 和 .txt 之间任何字符的文件?

标签 php regex preg-match

<分区>

我需要使用 preg_match 来获取符合特定条件的文件。例如,我想找到一个名为“123-stack-overflow.txt”的文件。 123- 之后和 .txt 之前可以有任何字符。

如何修改它才能正常工作?

preg_match("/^$ID-(.+).txt/" , $name, $file);

最佳答案

正则表达式 ^123-.+\.txt$

^       # Match start of string
123-    # Match the literal string 123-
(.+)    # Match anything after (captured)
\.txt   # Match the literal string .txt 
$       # Match end of string

PHP:

$str="123-stack-overflow.txt";

preg_match('/^123-(.+)\.txt$/',$str,$match);
echo $match[0];
echo $match[1];

>>> 123-stack-overflow.txt
>>> stack-overflow

关于php - preg_match 获取包含 123 和 .txt 之间任何字符的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769287/

相关文章:

php按自定义顺序对多维数组进行排序

java - 大写单词和字符 java 匹配

javascript - 基于带参数的正则表达式生成字符串

php - preg_replace() 在 MySQL 表中查找匹配项

php - 从数据库中仅选择字符串的标签部分

php - SQL - 自日期以来的时间

r - 扩展 gsub 和 grepl 以忽略给定分隔符之间的子字符串

php - 测试字符串是否为正则表达式

PHP preg_replace/preg_match 与 PHP str_replace

javascript - 进行 php ajax 类型回调的正确方法