Parses a file path into 3 capture groups: 1: path (may be empty) 2: filename (required) 3: extension (may be empty)