这种表达式的正则表达式是什么“开始日期:[某些月] [dd],[yyyy]”?

时间:2012-07-04 10:13:25

标签: php regex preg-match

这种类型的表达式的正则表达式是什么“开始日期:[某些月] [dd],[yyyy]”,其中整个月被输入...我想提取此字符串然后进一步处理它。

4 个答案:

答案 0 :(得分:1)

这取决于你想要的严格程度:

/Start Date: ([a-zA-Z]+) (\d{2}), (\d{4})/

......应该这样做。

更严格:

/Start Date: (January|February|March|April|May|June|July|August|September|October|November|December) (\d{2}), (\d{4})/

答案 1 :(得分:1)

<?php
$a = 'Start Date: Febuary 10, 2012';
if(preg_match('/Start Date: (\S+) (\d+), (\d{4})/', $a, $matches)) {
  print_r($matches);
}

将为您提供$ matches =

Array
(
    [0] => Start Date: Febuary 10, 2012
    [1] => Febuary
    [2] => 10
    [3] => 2012
)

答案 2 :(得分:0)

你走了。

preg_match(/Start Date: ([^\s]+) \d{2}, \d{4}/, $date, $matches);
echo $matches[1];

答案 3 :(得分:0)

我会做类似的事情:

Start Date: \[(\w+)\] \[(\d{2,2})\], \[(\d{4,4})\]

此正则表达式不直接验证月份,但匹配该模式并将月,日和年提取为捕获的组,因此您可以针对地图进行验证。

如果你不这样做,上面的表达式假定你想匹配[]字符:

Start Date: (\w+) (\d{2,2}), (\d{4,4})