preg_match_all模式用法

时间:2011-07-11 16:42:53

标签: php regex

嗨我有这样的文件清单

1443 F 001.tif
1731 001.tif
1731 A 001.tif
1731 E 001.tif
1731 I 001.tif
ARELLANO GALVEZ 001.tif
AVILA 001.tif
berra morales jose 001.tif
berra morales jose 002.tif
CASTRO 001.tif

我想要抓住以数字开头的文档,接下来有一个LETTER并以另一个字符结束,之后我想在数组中进行匹配。

例如“1443 F 001.tif”必须匹配。

我希望像

这样的比赛
$encontrados[0] = 1443
$encontrados[1] = F
$encontrados[2] = 001.tiff

$pattern = '/^[\d]+[\w]?+(*)?/';
$var = preg_match_all($pattern, $documento, $encontrados);

但我的正则表达式不起作用,任何线索?

2 个答案:

答案 0 :(得分:2)

你的正则表达式格式不正确。

尝试:

$pattern = '/^[\d]+ [a-zA-Z] .+$/';

注意:此模式匹配以数字开头的字符串,空格,后跟字母(大写或小写),空格,以任何其他字符结尾

答案 1 :(得分:1)

尝试模式

'/^(\d+)\s*([a-zA-Z])\s*(.*)/'

为你的任务。

\d将匹配您的号码(此处不需要方括号),[a-zA-Z]一封信(您可以通过撰写[a-zA-Z]?将其设为可选)和.*匹配其余的部分。请注意,\s*会占用其间的任何空格。

相关问题