2

月全体が入力されるこのタイプの式「開始日: [ある月] [dd]、[yyyy]」の正規表現は何ですか...この文字列を抽出してさらに処理したい..

4

4 に答える 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 に答える