Php Preg_match想从字符串中提取年份

时间:2015-01-08 23:30:52

标签: php preg-match

我想从字符串中提取'year',这是我的字符串

clerk_eng2009

clerk_23-eng-2009

我只需要2009年的结果

感谢。

2 个答案:

答案 0 :(得分:4)

这应该适合你:

<?php

    $str = "clerk_eng2009";

    preg_match_all("/\d{4}$/", $str, $matches);

    echo $matches[0][0];

?>

输出:

2009

答案 1 :(得分:1)

只需使用

$num = intval( substr($str, strlen($str) - 4, strlen($str)) );

就是这样。 在这个字符串中使用正则表达式(计算成本很高)没有意义。只提取最后四个字符然后使用intval()评估为整数很简单。

编辑:

另一个选项(因为似乎所有值都由-分隔)是分隔向量中的所有值,然后用年份提取一个:

$vector = explode( $str, "-");
$num = intval( $vector[2] ); // We use the third value, which is supposed to be the year