I'm trying to write a Java method that will take a string as a parameter and return another string if it matches a pattern, and `null` otherwise. The pattern:

* Starts with a number (1+ digits); then followed by
* A colon ("`:`"); then followed by
* A single whitespace (" "); then followed by
* *Any* Java string of 1+ characters

Hence, some valid string thats match this pattern:

```
50: hello
1: d
10938484: 394958558

```

And some strings that **do not** match this pattern:

```
korfed49
: e4949
6
6:
6:sdjjd4

```

The general skeleton of the method is this:

```
public String extractNumber(String toMatch) {
    // If toMatch matches the pattern, extract the first number
    // (everything prior to the colon).

    // Else, return null.
}

```

Here's my best attempt so far, but I know I'm wrong:

```
public String extractNumber(String toMatch) {
    // If toMatch matches the pattern, extract the first number
    // (everything prior to the colon).
    String regex = "???";
    if(toMatch.matches(regex))
        return toMatch.substring(0, toMatch.indexOf(":"));

    // Else, return null.
    return null;
}

```

Thanks in advance.