The best way to explain my problem is to just show you.

**Input String:**

```
/04-11-2010/12:45/

```

**Regular Expression to get date and time parts:**

```
preg_match('@/(\d\d)-(\d\d)-(\d\d\d\d)/(\d\d):(\d\d)/@', $input, $matches);

```

**PHP Matches Array:**

```
Array
(
    [0] => /01-11-2010/12:45/
    [1] => 01
    [2] => 11
    [3] => 2010
    [4] => 12
    [5] => 45
)

```

Now the above regex works perfectly at getting the individual component parts that represent the date and time in the input string.

The problem is that the time part needs to be optional without bringing down the entire regular expression. 

**Problem Input String:**

```
/04-11-2010//

```

**PHP Matches Array**

```
Array
(
)

```

Basically what I need to be returned by the matches array is:

```
Array
(
    [0] => /01-11-2010/12:45/
    [1] => 01
    [2] => 11
    [3] => 2010
    [4] => 
    [5] => 
)

```

Note array elements 4 and 5 still need to exist but return empty.