这种类型的表达式“开始日期:[某个月份] [dd],[yyyy]”的正则表达式是什么,其中输入了整个月份......我想提取这个字符串,然后进一步处理它..
问问题
81 次
4 回答
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})/
于 2012-07-04T10:17:23.320 回答
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
)
于 2012-07-04T10:18:51.603 回答
0
干得好。
preg_match(/Start Date: ([^\s]+) \d{2}, \d{4}/, $date, $matches);
echo $matches[1];
于 2012-07-04T10:19:25.910 回答
0
我会做类似的事情:
Start Date: \[(\w+)\] \[(\d{2,2})\], \[(\d{4,4})\]
此正则表达式不直接验证月份,而是匹配该模式并将月份、日期和年份提取为捕获的组,因此您可以根据地图进行验证。
上面的表达式假设您也想匹配 [ ] 字符,如果您不这样做:
Start Date: (\w+) (\d{2,2}), (\d{4,4})
于 2012-07-04T10:19:32.243 回答